Fonction PHP Password_verify

Fonction PHP Password_verify
La fonction Password_verify () est utilisée pour faire correspondre le mot de passe de hachage avec le mot de passe d'origine. Une autre fonction, Password_Hash () est utilisée pour générer la valeur de hachage en fonction de l'algorithme de hachage, du coût et de la valeur de sel. La fonction Password_verify () contient toutes les informations de hachage pour vérifier le hachage avec le mot de passe. Les utilisations de cette fonction ont été montrées dans ce tutoriel en utilisant plusieurs exemples.

Syntaxe

Cette fonction a deux arguments et il renvoie vrai sur le succès et le faux sur l'échec. La syntaxe de cette fonction a donné ci-dessous.

Password_verify (String $ mot de passe, String $ hash): bool

Le premier argument contient le mot de passe qui sera vérifié. Le deuxième argument contient la valeur de hachage utilisée pour vérifier le mot de passe est valide ou non. Cette valeur de hachage est générée en utilisant la fonction Password_Hash ().

Différents types d'algorithmes peuvent être utilisés pour générer la valeur de hachage de tout mot de passe. Le deuxième argument de la fonction Password_Hash () contient une valeur constante qui indique un algorithme de hachage. Les constantes qui peuvent être utilisées par la fonction Password_Hash () ont mentionné ci-dessous.

Nom constant Description
Password_default Il utilise l'algorithme par défaut pour générer la valeur de hachage du mot de passe.
Password_bcrypt Il utilise l'algorithme crypt_blowfish pour générer la valeur de hachage du mot de passe.
Password_argon2i Il utilise l'algorithme Argon2i pour générer la valeur de hachage du mot de passe.
Password_argon2id Il utilise l'algorithme argon2id pour générer la valeur de hachage du mot de passe.

Utilisations de la fonction Password_verify ()

Les moyens de vérifier le mot de passe en fonction de la valeur de hachage générée par différents algorithmes de hachage ont montré dans cette partie du tutoriel.

Exemple-1: Vérifiez le mot de passe avec le hachage généré par Password_default

Créez un fichier PHP avec le script suivant qui affichera un formulaire pour l'utilisateur afin de fournir le mot de passe qui sera vérifié par la fonction Password_verify () pour la validation lorsque le bouton Soumettre sera appuyé sur.

La valeur constante, Password_default a été utilisé dans la fonction password_hash () pour générer la valeur de hachage du mot de passe particulier. Ensuite, la fonction Password_verify () a utilisée pour vérifier la valeur de mot de passe donnée par l'utilisateur est valide ou invalide.



Vérification du mot de passe













// générer la valeur de hachage du mot de passe
$ hash = password_hash ('SecretPass456', Password_Default);
// Vérifiez que la valeur du mot de passe est soumise par l'utilisateur ou non
if (isset ($ _ post ['pass']))

// Lire le mot de passe soumis par l'utilisateur
$ mot de passe = $ _post ['pass'];
// Vérifiez que le mot de passe est valide ou non valide
if (mot de passe_verify ($ mot de passe, $ hash))
Echo 'Le mot de passe est valide!';;
autre
Echo 'Le mot de passe n'est pas valide.';;


?>

Sortir:

La sortie suivante apparaîtra après avoir exécuté le script ci-dessus si le mot de passe valide est donné par l'utilisateur.

La sortie suivante apparaîtra après avoir exécuté le script ci-dessus si le mot de passe non valide est donné par l'utilisateur.

Exemple-2: Vérifiez le mot de passe avec le hachage généré par Password_Bcrypt

Créez un fichier PHP avec le script suivant qui affichera un formulaire pour l'utilisateur afin de fournir le mot de passe qui sera vérifié par la fonction Password_verify () pour la validation lorsque le bouton Soumettre sera appuyé comme l'exemple précédent.

La valeur constante, Password_bcrypt, et la valeur du coût a été utilisée dans la fonction Password_Hash () pour générer la valeur de hachage du mot de passe particulier. Ensuite, la fonction Password_verify () a utilisée pour vérifier la valeur de mot de passe donnée par l'utilisateur est valide ou invalide.



Vérification du mot de passe













// définir la valeur du mot de passe
$ mot de passe = "SecretPass";
// définir la valeur du coût
$ options = ["Cost" => 15];
// générer la valeur de hachage du mot de passe et de la valeur du coût
$ hash = mot de passe_hash ($ mot de passe, mot de passe_bcrypt, $ options);
// Vérifiez que la valeur du mot de passe est soumise par l'utilisateur ou non
if (isset ($ _ post ['pass']))

// Lire le mot de passe soumis par l'utilisateur
$ mot de passe = $ _post ['pass'];
// Vérifiez que le mot de passe est valide ou non valide
if (mot de passe_verify ($ mot de passe, $ hash))
Echo 'Le mot de passe est valide.';;
autre
Echo 'Le mot de passe n'est pas valide.';;


?>

Sortir:

La sortie suivante apparaîtra après avoir exécuté le script ci-dessus si le mot de passe valide est donné par l'utilisateur.

La sortie suivante apparaîtra après avoir exécuté le script ci-dessus si le mot de passe non valide est donné par l'utilisateur.

Exemple-3: Vérifiez le mot de passe avec le hachage généré par Password_argon2i

Créez un fichier PHP avec le script suivant qui affichera un formulaire pour l'utilisateur afin de fournir le mot de passe qui sera vérifié par la fonction Password_verify () pour la validation lorsque le bouton Soumettre sera appuyé comme l'exemple précédent.

La valeur constante, Password_argon2i, et la valeur du coût a été utilisée dans la fonction Password_Hash () pour générer la valeur de hachage du mot de passe particulier. La valeur de hachage du mot de passe sera imprimée dans la sortie. Ensuite, la fonction Password_verify () a utilisée pour vérifier la valeur de mot de passe donnée par l'utilisateur est valide ou invalide.

// définir la valeur du mot de passe
$ mot de passe = "SecretPass";
// générer la valeur de hachage du mot de passe
$ hash = mot de passe_hash ($ mot de passe, mot de passe_argon2i, ["coût" => 15]);
Echo "La valeur de hachage:
$ hash ";
?>


Vérification du mot de passe













// Vérifiez que la valeur du mot de passe est soumise par l'utilisateur ou non
if (isset ($ _ post ['pass']))

// Lire le mot de passe soumis par l'utilisateur
$ mot de passe = $ _post ['pass'];
// Vérifiez que le mot de passe est valide ou non valide
if (mot de passe_verify ($ mot de passe, $ hash))
Echo 'Le mot de passe est valide.';;
autre
Echo 'Le mot de passe n'est pas valide.';;


?>

Sortir:

La sortie suivante apparaîtra après avoir exécuté le script ci-dessus.

La sortie suivante apparaîtra après avoir exécuté le script ci-dessus si le mot de passe valide est donné par l'utilisateur.

Conclusion

La vérification du mot de passe est nécessaire pour authentifier l'utilisateur et c'est une tâche essentielle de tout site Web. Les utilisations de la fonction Password_verify () pour vérifier les mots de passe basés sur différentes valeurs de hachage se sont affichées dans ce didacticiel en utilisant le formulaire HTML.