gon-zoo82/password-strength-validator

Symfony 框架的密码强度验证器。基于 Dropbox 的 zxcvbn 项目。

dev-master 2017-10-05 10:16 UTC

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/ 获取一份。
查看完整的许可证