有人告诉我,他见过这样的软件系统:
从其他系统检索MD5加密密码; 解密加密的密码和 使用系统自己的算法将密码存储在系统的数据库中。
这可能吗?我认为解密MD5哈希是不可能/可行的。
我知道有MD5字典,但是有真正的解密算法吗?
有人告诉我,他见过这样的软件系统:
从其他系统检索MD5加密密码; 解密加密的密码和 使用系统自己的算法将密码存储在系统的数据库中。
这可能吗?我认为解密MD5哈希是不可能/可行的。
我知道有MD5字典,但是有真正的解密算法吗?
当前回答
MD5是一种哈希算法,不能还原哈希值。
您应该添加“更改密码功能”,用户提供另一个密码,计算散列并将其存储为新密码。
其他回答
要做到这一点并不容易。这就是首先对密码进行哈希的意义。:)
你应该做的一件事是手动为他们设置一个临时密码,并将其发送给他们。
我不愿提及这一点,因为这是一个坏主意(而且也不能保证一定有效),但您可以尝试在彩虹表(如milw0rm)中查找散列,看看是否可以通过这种方式恢复旧密码。
不直接。由于鸽子洞原理,有(可能)不止一个值散列到任何给定的MD5输出。因此,你不能肯定地扭转它。此外,MD5是为了使查找任何这样的反向哈希变得困难(然而,已经有产生冲突的攻击-也就是说,产生两个哈希到相同结果的值,但您无法控制最终的MD5值是什么)。
但是,如果将搜索空间限制为长度小于N的普通密码,则可能不再具有不可逆性属性(因为MD5输出的数量远远大于感兴趣域中的字符串数量)。然后,您可以使用彩虹表或类似的反向哈希。
不,他一定是被MD5字典搞糊涂了。
加密哈希(MD5等)是一种方法,您不能仅使用摘要返回原始消息,除非您有关于原始消息的其他不应该的信息等。
不,这是不可能的。您可以使用字典,也可以尝试散列不同的值,直到获得您正在寻找的散列。但它无法被“解密”。
MD5有它的弱点(见维基百科),所以有一些项目,试图预先计算哈希值。维基百科也暗示了其中一些项目。我所知道(并且尊敬)的一个是ophrack。您不能告诉用户他们自己的密码,但您可以告诉他们一个有效的密码。但我想:还是给他们寄个新密码吧,以防他们忘了。