新手来了 我正在尝试在他们创建帐户后使用 SHA-256 加密用户密码,然后当用户尝试登录时,它会尝试将他们的输入与 mysql 数据库中的任何加密密码相匹配。我想知道是否有人可以给我一个示例代码?
问问题
751 次
2 回答
6
散列是单向的,所以你不能真正“检索”你已经散列的内容。
当您在注册时保存密码时,请使用以下内容:
$hash=hash('sha256', $password);
并且只保存$hash
在数据库中。当用户尝试登录时,对他尝试使用的密码进行哈希处理,并将其与数据库中的密码进行比较(对于相同的输入,哈希处理总是会给出相同的结果)。如果它们相同,则他可以登录(如果满足所有其他检查)。
如果您想让用户找回忘记的通行证,请参考这个较早的问题。
此外,散列密码的最佳做法是使用某种salt
,这超出了这个问题的范围,但请谷歌它。
于 2011-04-19T06:55:42.953 回答