Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

password_hash, password_verify, mal-entendido do MySQL?


Você não pode fazer o hash da entrada e depois consultar isso no banco de dados, pois o hash usará um sal aleatório diferente a cada vez. Assim, você pode fazer o hash da mesma senha mil vezes e obter 1.000 resultados diferentes.

Você precisa simplesmente consultar o banco de dados para o registro relacionado ao nome de usuário e comparar o hash de senha retornado do banco de dados com a senha de entrada usando password_verify() .

Além disso, ao escrever inicialmente o hash no banco de dados na criação da senha (usando password_hash() ) não há necessidade de escapar do hash. password_hash() não é usado no processo de verificação de senha.