mdarse / password-strength-validator
Symfony框架的密码强度验证器。基于Dropbox的zxcvbn项目。
v1.0.0
2016-07-28 12:11 UTC
Requires
- bjeavons/zxcvbn-php: ^0.1.4
- symfony/validator: ~2.8|~3.0
Requires (Dev)
- phpunit/phpunit: ^5.4
This package is not auto-updated.
Last update: 2024-09-14 19:58:45 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/。
查看完整许可证。