divineomega / password_exposed
此PHP包提供了一个`password_exposed`辅助函数,该函数使用haveibeenpwned.com API检查密码是否在数据泄露中暴露。
v3.2.0
2021-04-20 09:34 UTC
Requires
- php: ^7.1||^8.0
- divineomega/do-file-cache-psr-6: ^2.0
- divineomega/psr-18-guzzle-adapter: ^1.0
- nyholm/psr7: ^1.0
- paragonie/certainty: ^2.4
- php-http/discovery: ^1.6
- psr/cache: ^1.0
- psr/http-client: ^1.0
- psr/http-factory-implementation: ^1.0
- psr/http-message: ^1.0
- psr/http-message-implementation: ^1.0
Requires (Dev)
- fzaninotto/faker: ^1.7
- kriswallsmith/buzz: ^1.0
- php-coveralls/php-coveralls: ^2.1
- phpunit/phpunit: ^7.0||^8.0
- symfony/cache: ^4.2.12
- vimeo/psalm: ^4
README
此PHP包提供了一个password_exposed
辅助函数,该函数使用haveibeenpwned.com API检查密码是否在数据泄露中暴露。
安装
您可以使用Composer轻松安装password_exposed
包。只需从项目的根目录运行以下命令。
composer require "divineomega/password_exposed"
如果您之前从未使用过Composer依赖管理器,请访问Composer网站获取更多信息。
使用方法
要检查密码是否在数据泄露中暴露,只需将其传递给password_exposed
方法。
以下是一个基本使用示例
switch(password_exposed('hunter2')) { case PasswordStatus::EXPOSED: // Password has been exposed in a data breach. break; case PasswordStatus::NOT_EXPOSED: // Password has not been exposed in a known data breach. break; case PasswordStatus::UNKNOWN: // Unable to check password due to an API error. break; }
如果您想避免使用辅助函数,以下语法也是可用的。
$passwordStatus = (new PasswordExposedChecker())->passwordExposed($password);
SHA1散列
您还可以通过以下方法提供SHA1散列而不是明文密码。
$passwordStatus = (new PasswordExposedChecker())->passwordExposedByHash($hash);
或者...
$passwordStatus = password_exposed_by_hash($hash);