我试图比较MySQL数据库中的哈希密码值和登录表单中输入密码的哈希值。
然而,当我比较这两个值时,它显示它们不相等。我先去掉了盐(salt)以简化操作,测试了输出结果,得到了相同的值。
$password1 = $_POST['password'];
$hash = hash('sha256', $password1);
...connect to database, etc...
$query = "SELECT *
FROM users
WHERE username = '$username1'";
$result = mysql_query($query);
$userData = mysql_fetch_array($result);
if($hash != $userData['password']) //incorrect password
{
echo $hash."|".$userData['password'];
die();
}
...other code...
示例输出:
7816ee6a140526f02289471d87a7c4f9602d55c38303a0ba62dcd747a1f50361| 7816ee6a140526f02289471d87a7c4f9602d55c38303a0ba62dcd747a1f50361
有什么想法吗?
var_dump($hash)
和var_dump($userData['password'])
的输出是什么? - Viktor