如何解密md5哈希

dra*_*sea 0 php encryption hash md5

可能重复:
PHP:当用户点击忘记使用md5加密的密码时,如何将原始密码发送给用户?

我已经在php中创建了一个登录和注册系统,我想制作一个忘记密码链接来从数据库中检索密码.我怎么做的?

注意:使用md5哈希加密数据库中的密码

Kei*_*win 13

MD5是加密哈希,而不是加密方案.它无法以任何直接的方式逆转.它只能通过尝试可能的密码强制强制,直到找到匹配的密码.不建议这样做.

您无法合理地恢复密码.忘记密码链接应改为重置密码.

这是有意和良好的设计.MD5用于散列密码,以便在密码数据库被黑客入侵时,黑客只能访问密码的哈希值,而不能访问原始密码,这使得他们很难发现用户的密码.

但是,此时,MD5破解程序已经足够快,不建议密码使用.将来,scrypt或bcrypt应该用作密码哈希函数.


tem*_*def 5

拥有密码哈希的全部意义在于,无法从哈希中恢复原始密码.这样,如果有人攻击密码数据库并窃取所有哈希值,他们就无法恢复所有用户的密码.事实上,这在数学上是不可能的.散列函数将所有无限多个可能的字符串映射到一组固定长度的字符串,因此(理想情况下!)无限多个字符串可以散列到任何特定的散列值.

如果你想"忘记密码?" 选项,最好只是将用户的密码重置为随机的,然后发送包含新垃圾密码的电子邮件.