password_verify
(PHP 5 >= 5.5.0, PHP 7, PHP 8)
password_verify — Verifica se uma senha corresponde a um hash
Descrição
Verifica se o hash fornecido corresponde à senha informada password_verify() é compatível com crypt(). Portanto, hashes de senha criadas por crypt() podem ser usados com password_verify().
Perceba que password_hash() retorna o algoritmo, custo e o salt como parte do hash retornado. Por isso, toda a informação necessária para verificar o hash está incluída nele. Isso permite que a função de verificação faça isso sem precisar de um armazenamento separado para a informação do salt ou do algoritmo.
Esta função é segura contra ataques de sincronismo.
Parâmetros
password
-
A senha do usuário.
hash
-
Um hash criado por password_hash().
Exemplos
Example #1 Exemplo de password_verify()
Este é um exemplo simplificado; é recomendável recalcular o hash de uma senha correta se necessário; consulte a página da função password_needs_rehash() para um exemplo.
<?php
// Veja o exemplo de password_hash() para ver de onde veio esta string.
$hash = '$2y$10$.vGA1O9wmRjrwAVXD98HNOgsNpDczlqm3Jq7KnEd1rVAGv3Fykk1a';
if (password_verify('rasmuslerdorf', $hash)) {
echo 'Senha válida!';
} else {
echo 'Senha inválida';
}
?>
O exemplo acima produzirá:
Senha válida!
Veja Também
- password_needs_rehash() - Verifica se o hash informado corresponde às opções especificadas
- password_hash() - Cria um hash de senha
- » implementação no espaço de usuário
- sodium_crypto_pwhash_str_verify() - Verifies that a password matches a hash