VALIDATE_PASSWORD_STRENGTH() - Password Strength Test

Q

How to test the strength of a password using the VALIDATE_PASSWORD_STRENGTH() function?

✍: FYIcenter.com

A

VALIDATE_PASSWORD_STRENGTH(password) is a MySQL built-in function that calculates the strength of a given password. It requires validate_password plugin component to be installed. For example:

SELECT VALIDATE_PASSWORD_STRENGTH('MyPassword');
  -- +------------------------------------------+
  -- | VALIDATE_PASSWORD_STRENGTH('MyPassword') |
  -- +------------------------------------------+
  -- |                                        0 |
  -- +------------------------------------------+

INSTALL COMPONENT 'file://component_validate_password';

SELECT VALIDATE_PASSWORD_STRENGTH('MyPassword');
  -- +------------------------------------------+
  -- | VALIDATE_PASSWORD_STRENGTH('MyPassword') |
  -- +------------------------------------------+
  -- |                                       50 |
  -- +------------------------------------------+

SELECT VALIDATE_PASSWORD_STRENGTH('123456');
  -- +--------------------------------------+
  -- | VALIDATE_PASSWORD_STRENGTH('123456') |
  -- +--------------------------------------+
  -- |                                   25 |
  -- +--------------------------------------+

SELECT VALIDATE_PASSWORD_STRENGTH('123');
  -- +-----------------------------------+
  -- | VALIDATE_PASSWORD_STRENGTH('123') |
  -- +-----------------------------------+
  -- |                                 0 |
  -- +-----------------------------------+

SELECT VALIDATE_PASSWORD_STRENGTH('430LwchJ$n');
  -- +------------------------------------------+
  -- | VALIDATE_PASSWORD_STRENGTH('430LwchJ$n') |
  -- +------------------------------------------+
  -- |                                      100 |
  -- +------------------------------------------+

Reference information of the VALIDATE_PASSWORD_STRENGTH() function:

VALIDATE_PASSWORD_STRENGTH(password): score
  Normalizes a given MySQL statement into a statement digest.

Arguments, return value and availability:
  password: Required. The password string to be tested.
  score: Return value. The test score between 0 and 100.
  Available since MySQL 4.1.

Test criteria and scores: 
  Criteria                                  Score 
  --------                                  -----
  Length < 4                                    0
  Length ≥ 4 and < validate_password.length    25
  Satisfies policy 1 (LOW)                     50
  Satisfies policy 2 (MEDIUM)                  75
  Satisfies policy 3 (STRONG)                 100

 

MySQL Functions on UUID Values

UNCOMPRESSED_LENGTH() - Uncompressed Data Length

MySQL Functions for Encryption and Compression

⇑⇑ MySQL Function References

2023-12-14, 232🔥, 0💬