【发布时间】:2016-01-26 15:53:13
【问题描述】:
我在这个很棒的论坛和其他几个地方读到了用 md5 解密是多么困难,如果不是不可能的话。
不幸的是,我使用 md5 对我们用户的密码进行哈希处理:
// hash to sanitize the input further
$password = md5($password);
现在,我有点麻烦,因为忘记密码的用户无法使用我们的恢复密码功能。
当他们尝试恢复密码时,他们会收到对他们无用的加密密码,因为他们无法使用它。
考虑到解密 md5 哈希有多么困难,几乎不可能,有没有人可以建议我尝试的更简单的加密/解密机制?
现在几乎在热水中。
【问题讨论】:
-
不,不,不!您应该使用更安全的散列算法(例如 PHP 的内置 password_hash()/password_verify() 函数)来保护密码,这是无法逆转的;并且永远不要将密码发回给用户......密码恢复应该向他们发送一个限时令牌,允许他们在不输入旧值的情况下重置密码
-
你真的不应该使用MD5 password hashes,你真的应该使用PHP的built-in functions来处理密码安全。如果您使用的 PHP 版本低于 5.5,则可以使用
password_hash()compatibility pack。 -
让我这么说吧,30 多年来 桥下流了 很多 的水;那是“YEARS”,360 多个月。不要使用 MD5 来存储密码。除非您希望最终落入同一条水中,否则停止您正在使用的东西如果它打算在网络上上线。
标签: php encryption hash