如何验证散列密码

How to verify an hashed password

我正在使用 password_hash() 函数。

现在可以对密码进行哈希处理了,但是我该如何验证呢?

好吧,这个选项的函数被调用:password_verify

它是如何工作的;

<?php
$password = "[PASS]"; //Password user fill in.
$hash= "[HASH]"; //The hashed password that you saved.
$checkPass = password_verify($password, $hash); //This returns a boolean; true or false
if ($checkPass == true)
{
  echo 'Password is good!';
}
else
{
  echo 'Password is wrong!';
}
?>
boolean password_verify ( string $password , string $hash )

验证给定的哈希是否与给定的密码匹配。

请注意,password_hash() returns 算法、成本和盐作为返回哈希的一部分。因此,验证散列所需的所有信息都包含在其中。这允许验证函数验证散列,而无需单独存储盐或算法信息。

密码 用户密码。

哈希 password_hash()

创建的哈希

http://php.net/manual/en/function.password-verify.php