Maison >développement back-end >tutoriel php >Pourquoi `password_verify()` de PHP renvoie-t-il False malgré des informations d'identification correctes ?
Les utilisateurs de PHP 5.5 rencontrent parfois une fausse valeur de retour inattendue de la fonction password_verify().
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.
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!