mdarse/password-strength-validator

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

v1.0.0 2016-07-28 12:11 UTC

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/
查看完整许可证