Maison > base de données > tutoriel mysql > le corps du texte

Comment vérifier les mots de passe des utilisateurs sans décrypter les hachages à l'aide de la fonction « password_hash » de PHP ?

Mary-Kate Olsen
Libérer: 2024-11-02 02:01:03
original
181 Les gens l'ont consulté

How to Verify User Passwords Without Decrypting Hashes Using PHP's `password_hash` Function?

Déchiffrement des hachages de mots de passe en PHP avec la fonction Password_hash

Question :

Vous devez déchiffrer un mot de passe crypté à l'aide de la fonction password_hash. En supposant que le mot de passe haché est stocké dans une base de données et que vous disposez d'un mot de passe en texte brut saisi par l'utilisateur, comment déterminer s'ils correspondent sans compromettre la sécurité ?

Réponse :

Bcrypt est l'algorithme de hachage utilisé par la fonction password_hash, et il est irréversible. Par conséquent, il n'existe aucun moyen direct de déchiffrer les mots de passe hachés.

Au lieu de cela, pour valider le mot de passe de l'utilisateur, suivez ces étapes :

  1. Récupérez le mot de passe haché de la base de données à l'aide d'une requête SQL qui sélectionne uniquement le nom d'utilisateur. Cela garantit la sécurité en empêchant les vulnérabilités d'injection SQL.
  2. Utilisez la fonction password_verify pour comparer le mot de passe en texte brut de l'utilisateur avec le mot de passe haché. Il renvoie vrai s'ils correspondent, indiquant une connexion valide.

Exemple de code pour la validation du mot de passe :

<code class="php">// Assume $hash is the hashed password from the database
if (password_verify($inputPassword, $hash)) {
    echo 'Password is valid!';
} else {
    echo 'Invalid password.';
}</code>
Copier après la connexion

Remarque importante :

Il est crucial de paramétrer les entrées utilisateur dans les requêtes SQL pour empêcher les attaques par injection SQL. Consultez la réponse Stack Overflow fournie pour obtenir des conseils sur cette pratique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!