正在關注How do you use bcrypt for hashing passwords in PHP?。你如何驗證用戶提交的密碼對bcrypt哈希?
使用密碼提交到MySQL:
$options = array('cost' => 11);
$password = password_hash("$_POST[password]", PASSWORD_BCRYPT, $options);
密碼在MySQL中顯示爲:
mysql> SELECT password FROM users;
+-----------------------------------------------+
| password |
+-----------------------------------------------+
| $2y$11$O77omA4vaNKu0DScTXCBd.FSXKSV0PD0piEokV |
+-----------------------------------------------+
在登錄方面:
$hash = $row['password'];
$password = $_POST[password];
if (password_verify($password, $hash)) {
echo 'Password is valid!';
} else {
echo 'Invalid password.';
}
登錄不工作,總是顯示:
密碼無效。
由於文件相當大,我粘貼了相關部分。如果需要更多(可能不相關),我可以粘貼。
@jszobody有。 – user2656114
你的代碼還有別的東西在你的代碼中。你發佈的代碼工作得很好:http://3v4l.org/lmK9f – jszobody
@jszobody事實上,MySQL專欄的時間不夠長*面對手掌*。這是在45以前,我已經修改爲60.是否有一些「建議」的長度或什麼來防止未來的問題? – user2656114