password_verify即使正确也返回false

时间:2017-06-12 19:17:20

标签: php

您好我正在使用带有node.js的bcrypt和php进行测试,并且发现我的代码有些问题。基本上我在表单中键入用户名和密码,这是哈希并在页面上回显哈希并且它还运行密码验证并且应该返回一条消息,说明密码是正确的,如果它是正确的,但是它永远不会回归真实。

这是我的代码(请注意,没有使用数据库,此代码应始终表示$ password等于$ hash)

<?php
$username = $_POST["name"];
$password = $_POST["pass"];



$hash = password_hash($password, PASSWORD_BCRYPT) . "<br/>";

echo $hash; 


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

这将返回有效密码和无效密码“:

“$ 2Y $ 10 $ yzY0md5wm3nBZvuynPV7mO2W3Ux9455AG / dWfLzwEqRtC1DfMx9Oa 密码无效。“

1 个答案:

答案 0 :(得分:1)

更改

$hash = password_hash($password, PASSWORD_BCRYPT) . "<br/>";

$hash = password_hash($password, PASSWORD_BCRYPT);