所以我已经学习了很多关于PHP和Mysql的知识,我对此感到疑惑.假设我打算创建一个只存储用户名和密码的数据库(保持示例简单).我知道在不加密密码的情况下存储密码是不安全的,因为有人可能会侵入数据库.
因此,我使用MD5哈希或更安全的东西并存储加密的密码,然后我的一个用户忘记了他们的登录信息,他们想通过电子邮件检索它.
如果我使用像MD5这样的单向加密方法或更好的加密方法,如果密码是加密的并且无法解密,我应该如何向用户发送他们的登录信息?
我想为此目的(我的意思是检索部分)是否有另一种方式,或至少另一个地方,密码存储只是为了这个?
如果有人能建议一种安全存储这些信息的方法,我会很高兴,但是如果我的一个用户忘记了他们的登录信息,我就有办法安全地给他们发电子邮件.或者现在如何解决这样的问题呢?
从我所看到的MD5哈希已经被黑客入侵,所以更好的加密哈希或方法也会很好.
那么如果他们的密码是加密的并且无法解密,我应该如何向用户发送他们的登录信息?
你不是.您永远不应该向他们发送用户密码.
如果用户想要重置密码,则:
从我读到的MD5哈希已被黑客入侵,所以一个更好的加密哈希或方法将是不错的.
请参阅PHP手册,这是一个FAQ.
另见OWASP