gon-zoo82 / password-strength-validator
Symfony 框架的密码强度验证器。基于 Dropbox 的 zxcvbn 项目。
dev-master
2017-10-05 10:16 UTC
Requires
- bjeavons/zxcvbn-php: ^0.3
- symfony/validator: ~2.8|~3.0
Requires (Dev)
- phpunit/phpunit: ^5.4
This package is auto-updated.
Last update: 2024-08-29 01:27:27 UTC
README
Symfony 验证组件的密码强度约束。基于 Dropbox 的 zxcvbn 项目 和 @lowe,此项目内部使用 zxcvbn-php 来进行密码强度估算。
zxcvbn 通过模式匹配和保守的熵计算尝试提供合理的密码建议。它检测了 10k 个常见密码,常见的美国家庭名和姓氏,常见英语单词,以及常见的日期、重复(aaa)、序列(abcd)和 QWERTY 模式等。
安装
可以使用 Composer 将库安装为依赖项,只需将其添加到 composer.json 文件中。
$ composer require "mdarse/password-strength-validator"
用法
use Darse\PasswordStrengthValidator\Constraint\PasswordStrength; class User { /** * @PasswordStrength(min_score=3, message="Custom message for weak password error") */ private $password; }
如果您不需要自定义消息,可以使用更简单的 @PasswordStrength(3) 表单来指定最低密码分数为 3。
有关使用 Symfony 验证器进行验证的更多信息,请参阅 文档。
评分
评分是 0-4 的整数(您可以在心中将其表示为强度条)
0很容易被猜到:有风险的密码。(猜测 < 10^3)1非常容易被猜到:可防止受限制的在线攻击。(猜测 < 10^6)2有一定可能被猜到:可防止不受限制的在线攻击。(猜测 < 10^8)3安全性较高,难以被猜到:在离线慢速哈希场景中提供适度保护。(猜测 < 10^10)4非常难以被猜到:在离线慢速哈希场景中提供强大保护。(猜测 >= 10^10)
许可证
此源代码形式受 Mozilla 公共许可证第 2.0 版的条款约束。如果此文件未附带 MPL 复制品,您可以在 http://mozilla.org/MPL/2.0/ 获取一份。
查看完整的许可证。