Ce face VALIDATE_PASSWORD_STRENGTH()
Evaluarea este făcută de componenta validate_password. Dacă această componentă nu este instalată (cazul serverelor noi, instalate implicit), funcția returnează mereu 0. Se instalează de un administrator cu INSTALL COMPONENT 'file://component_validate_password'.
Rezultatul crește pe măsură ce parola trece teste mai stricte: 0 pentru mai puțin de 4 caractere, 25 dacă este mai scurtă decât validate_password.length (implicit 8), 50 pentru politica LOW (doar lungimea), 75 pentru MEDIUM (cifre, litere mici și mari, caractere speciale) și 100 pentru STRONG (în plus, verificarea într-un dicționar, dacă este configurat unul). O parolă identică cu numele utilizatorului primește 0.
Parametri
| Parametru | Descriere |
|---|---|
parola |
Parola evaluată, în clar. |
Ce returnează
Un număr: 0, 25, 50, 75 sau 100; NULL pentru NULL.
Exemple
Exemplul 1: Parole de diferite tării
Cu componenta instalată și setările implicite (lungime minimă 8, politică MEDIUM, fără fișier dicționar).
SELECT VALIDATE_PASSWORD_STRENGTH('abc') AS prea_scurta,
VALIDATE_PASSWORD_STRENGTH('ana1') AS scurta,
VALIDATE_PASSWORD_STRENGTH('parola123') AS doar_lungime,
VALIDATE_PASSWORD_STRENGTH('Iasi.Ana#2026') AS complexa;
Rezultat în MySQL, cu componenta validate_password instalată
+-------------+--------+--------------+----------+
| prea_scurta | scurta | doar_lungime | complexa |
+-------------+--------+--------------+----------+
| 0 | 25 | 50 | 100 |
+-------------+--------+--------------+----------+
Exemplul 2: Fără componentă, rezultatul este 0
Pe serverul de test, componenta validate_password nu este instalată.
SELECT VALIDATE_PASSWORD_STRENGTH('Iasi.Ana#2026') AS fara_componenta;
Rezultat
+-----------------+
| fara_componenta |
+-----------------+
| 0 |
+-----------------+
Greșeli frecvente
- Concluzionezi că orice parolă e slabă pentru că primești 0. Verifică întâi dacă componenta este instalată:
SELECT * FROM mysql.component;. - Trimiți parole reale în interogări care ajung în jurnale (general log, slow log). Evaluează parola în aplicație dacă jurnalele nu sunt protejate.
Comenzi înrudite
SHA2(): Calculează suma de control SHA-2 (SHA-224, SHA-256, SHA-384 sau SHA-512) a unui text.AES_ENCRYPT() și AES_DECRYPT(): Criptează și decriptează date cu algoritmul AES; fără cheie, datele nu pot fi citite.