nostromo/zxcvbn-php-german

基于Zxcvbn JS和德语词典的现实密码强度评估PHP库

1.3.1 2021-12-21 18:37 UTC

README

Zxcvbn-PHP是一个使用模式匹配和最小熵计算来估计密码强度的库。Zxcvbn-PHP基于来自Dropbox和@lowe的JavaScript zxcvbn项目。"zxcvbn"是一个糟糕的密码,就像"qwerty"和"123456"一样。

zxcvbn试图通过模式匹配和保守的熵计算来提供合理的密码建议。它找到10,000个常见密码、常见的美国姓名和姓氏、常见的英语单词以及常见的模式,如日期、重复(aaa)、序列(abcd)和QWERTY模式。

Build Status Coverage Status Latest Stable Version License

安装

可以使用Composer安装此库,将其作为依赖项添加到您的composer.json文件中。

通过命令行运行:composer require nostromo/zxcvbn-php-german

或在您的composer.json中添加以下内容

{
    "require": {
        "nostromo/zxcvbn-php-german": "^1.0"
    }
}

然后在命令行中运行composer update,并在您的PHP脚本中包含自动加载器,以便ZxcvbnPhp类可用。

require_once 'vendor/autoload.php';

使用方法

use ZxcvbnPhp\Zxcvbn;

$userData = [
  'Marco',
  'marco@example.com'
];

$zxcvbn = new Zxcvbn();
$weak = $zxcvbn->passwordStrength('password', $userData);
echo $weak['score']; // will print 0

$strong = $zxcvbn->passwordStrength('correct horse battery staple');
echo $strong['score']; // will print 4

echo $weak['feedback']['warning']; // will print user-facing feedback on the password, set only when score <= 2
// $weak['feedback']['suggestions'] may contain user-facing suggestions to improve the score

分数是0到4的整数

  • 0表示密码极其容易被猜测(10^3次猜测内),像'password'或'mother'这样的词典单词得分为0
  • 1仍然非常容易被猜测(猜测数小于10^6),在词典单词上额外添加一个字符可以得1
  • 2在一定程度上容易被猜测(猜测数小于10^8),提供一些保护以防止不受限制的在线攻击
  • 3安全地难以猜测(猜测数小于10^10),在离线慢哈希场景中提供适度的保护
  • 4非常难以猜测(猜测数大于等于10^10)并且在离线慢哈希场景中提供强大的保护

致谢

感谢