PHP password_verify()不起作用

时间:2016-06-16 12:53:22

标签: php hash passwords

对不起,这只是一个愚蠢的错字,我无法删除这个问题,因为有答案。

我很困惑这个。最初尝试匹配数据库的结果。当这不起作用时,我尝试直接将散列函数的结果输入到password_verify()中,但这也不起作用:

$pass = "password";
$hash = password_hash($password, PASSWORD_DEFAULT);
if (password_verify($pass, $hash))
{
    echo "Ok, that worked";
}
else
{
    echo "WTF?";
}

生成哈希,但password_verify()返回false。

我的PHP版本是5.5.9。

1 个答案:

答案 0 :(得分:2)

您正在使用$pass$password。两个独立的变量。

$pass = "password";
$hash = password_hash($pass, PASSWORD_DEFAULT);
if (password_verify($pass, $hash))
{
    echo "Ok, that worked";
}
else
{
    echo "WTF?";
}