PHP Password_Verify Função

PHP Password_Verify Função
A função Password_Verify () é usada para corresponder à senha de hash com a senha original. Outra função, Password_hash () é usada para gerar o valor do hash com base no algoritmo de hash, custo e valor de sal. A função Password_verify () contém todas as informações de hash para verificar o hash com a senha. Os usos desta função foram mostrados neste tutorial usando vários exemplos.

Sintaxe

Esta função tem dois argumentos e retorna verdadeiro sobre o sucesso e falsa no fracasso. A sintaxe desta função deu abaixo.

Password_Verify (string $ senha, string $ hash): bool

O primeiro argumento contém a senha que será verificada. O segundo argumento contém o valor de hash usado para verificar se a senha é válida ou não. Esse valor de hash é gerado usando a função Password_hash ().

Diferentes tipos de algoritmos podem ser usados ​​para gerar o valor de hash de qualquer senha. O segundo argumento da função Password_hash () contém um valor constante que indica um algoritmo de hashing. As constantes que podem ser usadas pela função Password_hash () mencionou abaixo.

Nome constante Descrição
Password_default Ele usa o algoritmo padrão para gerar o valor de hash da senha.
Password_BCrypt Ele usa o algoritmo Crypt_blowfish para gerar o valor de hash da senha.
Password_argon2i Ele usa o algoritmo argon2i para gerar o valor de hash da senha.
Password_argon2id Ele usa o algoritmo argon2id para gerar o valor de hash da senha.

Usos da função senha_verify ()

As maneiras de verificar a senha com base no valor de hash gerado por diferentes algoritmos de hash mostrou nesta parte do tutorial.

Exemplo 1: Verifique se a senha com o hash gerado por senha_default

Crie um arquivo php com o seguinte script que exibirá um formulário para o usuário fornecer a senha que será verificada pela função Password_Verify () para validação quando o botão Enviar será pressionado.

O valor constante, Password_default foi usado na função Password_hash () para gerar o valor de hash da senha específica. Em seguida, a função Password_verify () usou para verificar o valor da senha dado pelo usuário é válido ou inválido.



Verificação de senha













// gerar o valor de hash da senha
$ hash = senha_hash ('secretPass456', senha_default);
// Verifique se o valor da senha é enviado pelo usuário ou não
if (isset ($ _ post ['pass'])))

// leia a senha enviada pelo usuário
$ senha = $ _Post ['pass'];
// Verifique se a senha é válida ou inválida
if (senha_verify ($ senha, $ hash))
a senha do eco é válida!';
outro
A senha do eco é inválida.';


?>

Saída:

A saída a seguir aparecerá após a execução do script acima se a senha válida for fornecida pelo usuário.

A saída a seguir aparecerá após a execução do script acima se a senha inválida for fornecida pelo usuário.

Exemplo 2: Verifique se a senha com o hash gerado por senha_bcrypt

Crie um arquivo PHP com o seguinte script que exibirá um formulário para o usuário fornecer a senha que será verificada pela função Password_Verify () para validação quando o botão Enviar será pressionado como o exemplo anterior.

O valor constante, Password_BCrypt, e valor de custo foi usado na função Password_hash () para gerar o valor do hash da senha específica. Em seguida, a função Password_verify () usou para verificar o valor da senha dado pelo usuário é válido ou inválido.



Verificação de senha













// Defina o valor da senha
$ senha = "SecretPass";
// Defina o valor de custo
$ options = ["custo" => 15];
// gerar o valor de hash da senha e valor de custo
$ hash = senha_hash ($ senha, senha_bcrypt, $ options);
// Verifique se o valor da senha é enviado pelo usuário ou não
if (isset ($ _ post ['pass'])))

// leia a senha enviada pelo usuário
$ senha = $ _Post ['pass'];
// Verifique se a senha é válida ou inválida
if (senha_verify ($ senha, $ hash))
a senha do eco é válida.';
outro
A senha do eco é inválida.';


?>

Saída:

A saída a seguir aparecerá após a execução do script acima se a senha válida for fornecida pelo usuário.

A saída a seguir aparecerá após a execução do script acima se a senha inválida for fornecida pelo usuário.

Exemplo 3: Verifique a senha com o hash gerado por Password_argon2i

Crie um arquivo PHP com o seguinte script que exibirá um formulário para o usuário fornecer a senha que será verificada pela função Password_Verify () para validação quando o botão Enviar será pressionado como o exemplo anterior.

O valor constante, Password_argon2i, e valor de custo foi usado na função Password_hash () para gerar o valor do hash da senha específica. O valor de hash da senha será impresso na saída. Em seguida, a função Password_verify () usou para verificar o valor da senha dado pelo usuário é válido ou inválido.

// Defina o valor da senha
$ senha = "SecretPass";
// gerar o valor de hash da senha
$ hash = senha_hash ($ senha, senha_argon2i, ["custo" => 15]);
eco "o valor do hash:
$ hash ";
?>


Verificação de senha













// Verifique se o valor da senha é enviado pelo usuário ou não
if (isset ($ _ post ['pass'])))

// leia a senha enviada pelo usuário
$ senha = $ _Post ['pass'];
// Verifique se a senha é válida ou inválida
if (senha_verify ($ senha, $ hash))
a senha do eco é válida.';
outro
A senha do eco é inválida.';


?>

Saída:

A saída a seguir aparecerá após a execução do script acima.

A saída a seguir aparecerá após a execução do script acima se a senha válida for fornecida pelo usuário.

Conclusão

A verificação de senha é necessária para autenticar o usuário e é uma tarefa essencial de qualquer site. Os usos da função Password_Verify () para verificar senhas com base em diferentes valores de hash foram mostrados neste tutorial usando o formulário HTML.