我目前将服务器升级到PHP 5.5,并希望充分利用新功能password_hash
和password_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.
答案 0 :(得分:3)
您正在向哈希附加\n
,这会更改哈希:
$hash = password_hash("rasmuslerdorf", PASSWORD_DEFAULT)."\n";
^^^^---here
消除它,它将开始工作。
答案 1 :(得分:2)
我认为问题在于您最后在'\n'
附加了一个新行。
他们正在使用它在示例中为输出添加换行符。