使用SHA-256加密创建和检索密码的php命令是什么?

use*_*510 2 php authentication encryption sha256

新手在这里.我正在尝试使用SHA-256加密用户密码,然后当用户尝试登录时,它会尝试将其输入与mysql数据库中的任何加密密码相匹配.我想知道是否有人可以给我一个示例代码?

kap*_*apa 6

散列是单向的,所以你无法真正"检索"你所散列的东西.

在注册时保存密码时,请使用以下内容:

$hash=hash('sha256', $password);
Run Code Online (Sandbox Code Playgroud)

并且只保存$hash在数据库中.当用户尝试登录时,散列他尝试使用的密码并将其与数据库中的密码进行比较(散列将始终为相同的输入提供相同的结果).如果它们相同,则可以登录(如果满足所有其他检查).

如果您想让用户恢复他遗忘的传球,请参阅之前的问题.

此外,哈希密码的最佳做法是使用某种salt,这超出了这个问题的范围,但请谷歌它.

  • 但是_please_"盐"密码首先(即连接一个秘密字符串),以便具有SHA256哈希数据库的人不能查找匹配. (2认同)