我正在为 Web 应用程序制作登录系统。要将密码存储在数据库中,我使用 sha256 加密密码,如下所示:
$salt ="sometext";
$escapedPW="userpass";
$saltedPW = $escapedPW . $salt;
$hashedPW = hash('sha256', $saltedPW);
echo "<center>".$hashedPW."</center>";
在数据库中,我存储了用户、用户密码和用于生成哈希和验证用户登录的盐。现在我正在做的功能是向用户发送一封包含您的密码的电子邮件,但是当用户收到电子邮件时,由于存储在 sha256 加密密码中,用户会收到一个长字符串而不是用户应该的密码要知道。
我的问题是有什么方法可以向您发送实际的用户密码和非密码加密,即,如果我知道盐,有什么方法可以反转 sha256?如果不可能,建议您使用哪种加密方法来完成加密密钥的反向并通过电子邮件将实际密码发送给用户。