Maison >développement back-end >tutoriel php >Pourquoi `password_verify()` de PHP renvoie-t-il False malgré des informations d'identification correctes ?

Pourquoi `password_verify()` de PHP renvoie-t-il False malgré des informations d'identification correctes ?

DDD
DDDoriginal
2024-12-03 20:19:16762parcourir

Why Does PHP's `password_verify()` Return False Despite Correct Credentials?

Password_verify renvoyant systématiquement False

Les utilisateurs de PHP 5.5 rencontrent parfois une fausse valeur de retour inattendue de la fonction password_verify().

Problème

Considérez le code suivant extrait :

// get result row (as an object)
$result_row = $result_of_login_check->fetch_object();

// using PHP 5.5's password_verify() function to check if the provided password fits
// the hash of that user's password
if (password_verify($_POST['user_password'], $result_row->user_password_hash)) {
    // ...
}

Malgré la vérification que les valeurs $_POST['user_password'] et $result_row->user_password_hash sont correctes, password_verify() continue de renvoyer false.

Solution

Le problème survient généralement en raison d'une longueur de colonne insuffisante pour stocker le mot de passe haché dans la base de données. Le manuel PHP recommande d'utiliser une colonne d'une capacité d'au moins 255 caractères, car le mot de passe haché peut dépasser 60 caractères.

Pour résoudre ce problème, assurez-vous que la colonne de la base de données utilisée pour stocker le mot de passe haché a une longueur suffisante. La mise à jour de la définition de colonne à une longueur de 255 ou plus devrait résoudre le problème et permettre à password_verify() de fonctionner correctement.

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!

Déclaration:
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