Mysql
 sql >> Base de données >  >> RDS >> Mysql

password_hash, password_verify, MySQL malentendu ?

Vous ne pouvez pas hacher l'entrée puis interroger celle-ci dans la base de données, car le hachage utilisera un sel aléatoire différent à chaque fois. Ainsi, vous pourriez hacher le même mot de passe mille fois et obtenir 1000 résultats différents.

Vous devez simplement interroger la base de données pour l'enregistrement lié au nom d'utilisateur, puis comparer le hachage du mot de passe renvoyé par la base de données avec le mot de passe d'entrée à l'aide de password_verify() .

En outre, lors de la première écriture du hachage dans la base de données lors de la création du mot de passe (à l'aide de password_hash() ) il n'est pas nécessaire d'échapper le hachage. password_hash() n'est pas du tout utilisé dans le processus de vérification du mot de passe.