您好,我正在尝试在 PHP 中使用 password_hash() 对我的密码进行哈希处理。这部分很好,但无论如何比较哈希都会返回 false。要登录,我检查用户帐户数据库并获取密码哈希,然后将其与输入的密码进行比较。我的代码如下所示:
$password = $_SERVER["PHP_AUTH_PW"];
$hash = $row["password"];
if (password_verify($password, $hash)) {
// CREATE SESSION VARIABLES //
}
else{
header("HTTP/1.1 404 Not Found");
}
如您所见,输入的密码被带入 HTTP 标头。我不认为这会弄乱密码字符串,因为我可以直接将它与数据库中的密码进行比较(没有散列)。有任何想法吗?我已经三次检查了我的 PHP 版本,我可以散列密码,所以不是这样。