密码哈希问题与password_hash& password_verify

时间:2013-09-09 19:54:38

标签: php passwords php-5.5 php-password-hash

我目前将服务器升级到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.

2 个答案:

答案 0 :(得分:3)

您正在向哈希附加\n,这会更改哈希:

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

消除它,它将开始工作。

答案 1 :(得分:2)

我认为问题在于您最后在'\n'附加了一个新行。

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