/ZxcvbnPasswordValidator

Realistic Symfony password strength validator based on Zxcvbn PHP. Based on Dropbox's zxcvbn project.

Primary LanguagePHPMIT LicenseMIT

ZxcvbnPasswordValidator

Realistic Symfony password strength validator based on Dropbox's zxcvbn project.

Overview

Zxcvbn-PHP is a password strength estimator using pattern matching and minimum entropy calculation. Zxcvbn-PHP is based on the Javascript zxcvbn project from Dropbox and @lowe. "zxcvbn" is bad password, just like "qwerty" and "123456".

More info here.

zxcvbn attempts to give sound password advice through pattern matching and conservative entropy calculations. It finds 10k common passwords, common American names and surnames, common English words, and common patterns like dates, repeats (aaa), sequences (abcd), and QWERTY patterns.

This validator is based on library: Zxcvbn-PHP

Installation

composer require locastic/zxcvbn-password-validator

Options

You can use the Locastic\Component\ZxcvbnPasswordValidator\Validator\Constraints\ZxcvbnPasswordValidator constraint with the following options.

Option Type Description
message string The validation message (default: password_too_weak)
minEntropy float Desired minimal entropy value (password strength

Annotations

If you are using annotations for validation, include the constraints namespace:

use Locastic\Component\ZxcvbnPasswordValidator\Validator\Constraints as LocasticPassword;

and then add the ZxcvbnPasswordValidator constraint to the relevant field:

/**
 * @LocasticPassword\ZxcvbnPasswordValidator(minEntropy=50)
 */
protected $password;

YAML

App\Entity\User:
    properties:
        password:
            - Locastic\Component\ZxcvbnPasswordValidator\Validator\Constraints\ZxcvbnPasswordValidator:
                 minEntropy: 50

Support

Need help at your project? Write us an email on info@locastic.com