对不起,这只是一个愚蠢的错字,我无法删除这个问题,因为有答案。
我很困惑这个。最初尝试匹配数据库的结果。当这不起作用时,我尝试直接将散列函数的结果输入到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。
答案 0 :(得分:2)
您正在使用$pass
和$password
。两个独立的变量。
$pass = "password";
$hash = password_hash($pass, PASSWORD_DEFAULT);
if (password_verify($pass, $hash))
{
echo "Ok, that worked";
}
else
{
echo "WTF?";
}