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

Password_verify em PHP


A prática geral é a seguinte:
  1. Buscar senha hash do banco de dados onde o username =o nome de usuário inserido.
  2. Se forem encontradas linhas, significa que há um usuário
  3. 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.
  • 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.