有人告诉我,他见过这样的软件系统:
从其他系统检索MD5加密密码; 解密加密的密码和 使用系统自己的算法将密码存储在系统的数据库中。
这可能吗?我认为解密MD5哈希是不可能/可行的。
我知道有MD5字典,但是有真正的解密算法吗?
有人告诉我,他见过这样的软件系统:
从其他系统检索MD5加密密码; 解密加密的密码和 使用系统自己的算法将密码存储在系统的数据库中。
这可能吗?我认为解密MD5哈希是不可能/可行的。
我知道有MD5字典,但是有真正的解密算法吗?
当前回答
理论上,对哈希值进行解密是不可能的,但您可以使用一些肮脏的技术来获取原始的纯文本。
Bruteforcing: All computer security algorithm suffer bruteforcing. Based on this idea today's GPU employ the idea of parallel programming using which it can get back the plain text by massively bruteforcing it using any graphics processor. This tool hashcat does this job. Last time I checked the cuda version of it, I was able to bruteforce a 7 letter long character within six minutes. Internet search: Just copy and paste the hash on Google and see If you can find the corresponding plaintext there. This is not a solution when you are pentesting something but it is definitely worth a try. Some websites maintain the hash for almost all the words in the dictionary.
其他回答
在这里可以看到所有其他的答案,关于它如何以及为什么不可逆,以及为什么你不想这样做。
为了完整起见,这里有彩虹表,你可以在上面查找可能的匹配。不能保证彩虹表中的答案是用户选择的原始密码,这样会使用户非常困惑。
同样,这也不适用于咸散列。许多安全专家都建议用盐腌制。
不,他一定是被MD5字典搞糊涂了。
加密哈希(MD5等)是一种方法,您不能仅使用摘要返回原始消息,除非您有关于原始消息的其他不应该的信息等。
不,这是不可能的。您可以使用字典,也可以尝试散列不同的值,直到获得您正在寻找的散列。但它无法被“解密”。
您可以找到使用字典检索原始消息的在线工具。
在某些情况下,dictionary方法可能是无用的:
如果使用SALT消息散列消息 如果消息是哈希不止一次
例如,这里有一个MD5解密在线工具。
不直接。由于鸽子洞原理,有(可能)不止一个值散列到任何给定的MD5输出。因此,你不能肯定地扭转它。此外,MD5是为了使查找任何这样的反向哈希变得困难(然而,已经有产生冲突的攻击-也就是说,产生两个哈希到相同结果的值,但您无法控制最终的MD5值是什么)。
但是,如果将搜索空间限制为长度小于N的普通密码,则可能不再具有不可逆性属性(因为MD5输出的数量远远大于感兴趣域中的字符串数量)。然后,您可以使用彩虹表或类似的反向哈希。