我試圖將mysql數據庫中的散列密碼值與登錄表單中輸入密碼的散列值進行比較。將散列值與散列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($ hash)'和'var_dump($ userData ['password'])''的輸出是什麼? – Viktor