luppakorva/password_exposed

此PHP包提供了一个名为 `password_exposed` 的辅助函数,该函数使用 haveibeenpwned.com API 来检查密码是否在数据泄露中被暴露。

v3.4 2021-04-02 19:18 UTC

README

此PHP包提供了一个 password_exposed 辅助函数,该函数使用 haveibeenpwned.com API 来检查密码是否在数据泄露中被暴露。

Build Status StyleCI

安装

使用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);