-1

我目前将我的服务器升级到 PHP 5.5,并希望充分利用新功能password_hashpassword_verify.

我似乎无法正确验证哈希?我已经从 PHP 手册中复制了确切的示例,但它似乎仍在返回false

他们是我缺少的东西吗?

$hash = password_hash("rasmuslerdorf", PASSWORD_DEFAULT)."\n";


if (password_verify('rasmuslerdorf', $hash)) {
    echo 'Password is valid!';
} else {
echo 'Invalid password.';
}

返回

Invalid password.
4

2 回答 2

3

您正在将 a 添加\n到您的哈希中,这会更改哈希:

$hash = password_hash("rasmuslerdorf", PASSWORD_DEFAULT)."\n";
                                                         ^^^^---here

消除它,它就会开始工作。

于 2013-09-09T19:57:24.357 回答
2

我认为问题在于您在'\n'末尾添加了一个新行。

他们正在使用它在示例中的输出中添加换行符。

于 2013-09-09T19:57:22.027 回答