A prática geral é a seguinte:
- Buscar
senhahash 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.