使用 PHP 的 sha256 哈希方法时如何比较用户输入与数据库密码?
假设我设置了这样的新用户密码:
$salt = random_string(40) // some method that spits out a random
// 40 alpha-numeric character string
$password = hash('sha256', $_POST['password'] . $salt);
当用户想要登录时,如何将用户输入与其散列数据库密码进行比较?
Say I set a new users password like this:
$salt = random_string(40) // some method that spits out a random
// 40 alpha-numeric character string
$password = hash('sha256', $_POST['password'] . $salt);
How do I then compare the users input to his hashed db password when he wants to log in?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
登录时,
这里的关键是储存盐。
At login time,
The key here is to store the salt.
存储盐后,您可以对用户发布的内容应用相同的算法,并将结果与存储的密码进行比较。
having stored the salt, you apply the same algorithm to what the user posts and compare the results with the stored password.