michaelokgb/zxcvbn-php
基于 Zxcvbn JS 的真实密码强度估计 PHP 库
4.5.0
2019-04-28 13:24 UTC
Requires
- php: ^7.0
- ext-json: *
- symfony/polyfill-mbstring: >=1.3.1
Requires (Dev)
README
Zxcvbn-PHP 是一个使用模式匹配和最小熵计算来估计密码强度的库。Zxcvbn-PHP 基于 Dropbox 和 @lowe 的 JavaScript zxcvbn 项目。 "zxcvbn" 是一个糟糕的密码,就像 "qwerty" 和 "123456" 一样。
zxcvbn 通过模式匹配和保守的熵计算尝试给出合理的密码建议。它查找了 10k 个常见密码、常见的美国名字和姓氏、常见的英文单词以及常见的模式,如日期、重复(aaa)、序列(abcd)和 QWERTY 模式。
安装
可以使用 Composer 将此库作为依赖项添加到您的 composer.json 文件中。
{
"require": {
"michaelokgb/zxcvbn-php": "^4.5"
}
}
在命令行上运行 php composer.phar update 后,在您的 PHP 脚本中包含自动加载器,以便 ZxcvbnPhp 类可用。
require_once 'vendor/autoload.php';
使用方法
use ZxcvbnPhp\Zxcvbn; $userData = [ 'Marco', 'marco@example.com' ]; $zxcvbn = new Zxcvbn(); $strength = $zxcvbn->passwordStrength('password', $userData); echo $strength['score']; // will print 0 $strength = $zxcvbn->passwordStrength('correct horse battery staple'); echo $strength['score']; // will print 4
致谢
感谢
- @lowe 为原始的 JavaScript Zxcvbn
- @Dreyer 的端口 为初始实现提供了参考
- bjeavon 的实现 为构建 zxcvbn-php 作为 Dropbox 库的坚实初始端口提供了支持,包括 composer 支持和单元测试