A prática geral é a seguinte:
- Buscar
senha
hash do banco de dados onde ousername
=o nome de usuário inserido. - Se forem encontradas linhas, significa que há um usuário
- Agora você compara a senha inserida com o hash armazenado no banco de dados.
Vou descrever o fluxo acima em algum pseudo código para você aqui:
$query = SELECT password FROM users WHERE username = '$username'
$data = FETCH_THE_DATA($query);
if(password_verify($USER_INPUTTED_PASSWORD, $data['password'])) {
// password is correct
} else {
// password is in-correct
}
Observações
- Parar de usar
mysql_*
funções. A biblioteca está obsoleta por não ser confiável e será removida em versões futuras do PHP.- É melhor usar o PDO ou Declarações preparadas do MySQL
- Você deve sempre ler o manual -
password_verify()
, ele afirma claramente que você compara a "senha inserida pelo usuário" com a versão com hash armazenada em seu banco de dados.