正在关注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