gpt4 book ai didi

php - 将散列与散列 mysql 密码进行比较时出错(输出值相等)

转载 作者:可可西里 更新时间:2023-11-01 08:21:36 25 4
gpt4 key购买 nike

我正在尝试将 mysql 数据库中的哈希密码值与登录表单中输入密码的哈希值进行比较。

但是,当我比较这两个值时,它说它们不相等。我简单地去掉了盐,然后测试了输出是什么并得到了相同的值

$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() 告诉我,我有两个具有相同属性的变量,string(128)。我能够进行比较的唯一方法是将散列值转换为字符串:

$password1 = $_POST['password'];
$hash = (string)hash('sha256', $password1);
...
$userData = (string)mysql_fetch_array($result);

if($hash == $userData) {
//This should return true.
}

关于php - 将散列与散列 mysql 密码进行比较时出错(输出值相等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6755727/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com