Password_verify无法使用mysql

时间:2015-10-22 23:56:17

标签: password-recovery

我正在使用password_hash函数将哈希作为用户注册的一部分插入数据库。这很好用,并在数据库中创建密码哈希。但是,我无法使用password_verify验证密码,检查始终返回false。例如:

    $hash = password_hash("rattle",PASSWORD_DEFAULT)

    returns `$hash = $2y$10$fonFqdioDtfJ/Gp7t4orWOdalMHkKQSA8PrFvbgI7LC0LCvYshZ.i`

这已成功插入数据库。但是,password_verify('rattle',$hash)始终返回false。我已经尝试在将哈希插入数据库并使用它作为哈希之前回显哈希,但仍然没有乐趣。数据库哈希字段设置为60 char。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

经过测试,适用于已保存的字符串和动态。总是60个字符。

$hash = password_hash("rattle",PASSWORD_DEFAULT);
$hashCheckSaved = password_verify("rattle", '$2y$10$KDIzEQjsmlHCP0mjixbBoe9yJE8tY4aNPOZegiwez1zUPkt5217M2');
$hashCheckDynamic = password_verify("rattle", $hash);
echo $hash."<br> saved(". $hashCheckSaved . ") dynamic(". $hashCheckDynamic.")";
echo "<br>";
echo strlen($hash) . " chars in this string";