Ce face password_algos
password_algos spune ce algoritmi poate folosi password_hash pe serverul curent. Bcrypt ("2y") există mereu; "argon2i" și "argon2id" apar doar dacă PHP a fost compilat cu suport Argon2 (libargon2 sau sodium).
Valorile sunt aceleași ca ale constantelor PASSWORD_BCRYPT, PASSWORD_ARGON2I și PASSWORD_ARGON2ID.
Ce returnează
Un tablou cu identificatorii algoritmilor.
Exemple
Exemplul 1: Alegerea algoritmului după ce oferă serverul
<?php
print_r(password_algos());
$algoritm = in_array(PASSWORD_ARGON2ID, password_algos(), true) ? PASSWORD_ARGON2ID : PASSWORD_DEFAULT;
echo "Folosesc: " . $algoritm;
Rezultat posibil (diferă de la server la server)
Array
(
[0] => 2y
[1] => argon2i
[2] => argon2id
)
Folosesc: argon2id
Greșeli frecvente
- Folosești
PASSWORD_ARGON2IDfără să verifici. Pe un server fără suport Argon2, constanta nu există și scriptul se oprește cu eroare.
Comenzi înrudite
password_hash: Creează un hash sigur pentru o parolă, gata de salvat în baza de date. Este modul corect de a stoca parole.password_get_info: Arată cu ce algoritm și cu ce opțiuni (cost, memorie) a fost creat un hash de parolă.