(PHP 5 >= 5.5.0, PHP 7, PHP 8)
password_verify — Vérifie qu'un mot de passe correspond à un hachage
Vérifie que le hachage fourni correspond bien au mot de passe fourni. La fonction password_verify() est compatible avec la fonction crypt(). Ainsi, un mot de passe haché par la fonction crypt() peut être utilisé avec la fonction password_verify().
Notez que la fonction password_hash() retourne l'algorithme, le "cost", et le salt comme parties du hachage retourné. Toutefois, toutes les informations nécessaires pour vérifier le hachage y sont incluses. Ceci permet à la fonction de vérifier le hachage sans avoir besoin d'un stockage séparé pour les informations concernant l'algorithme et le salt.
Cette fonction est sans danger contre les attaques sur le temps.
password
Le mot de passe utilisateur.
hash
Un hachage créé par la fonction password_hash().
Exemple #1 Exemple avec password_verify()
Ceci est un exemple simplifié ; il est recommandé de ré-hacher un mot de passe correct si nécessaire ; voir la fonction password_needs_rehash() pour un exemple.
<?php
// Voir l'exemple fourni sur la page de la fonction password_hash()
// pour savoir d'où cela provient.
$hash = '$2y$10$.vGA1O9wmRjrwAVXD98HNOgsNpDczlqm3Jq7KnEd1rVAGv3Fykk1a';
if (password_verify('rasmuslerdorf', $hash)) {
echo 'Le mot de passe est valide !';
} else {
echo 'Le mot de passe est invalide.';
}
?>
L'exemple ci-dessus va afficher :
Le mot de passe est valide !