有人告诉我,他看到过软件系统:
- 从其他系统中检索MD5加密密码;
- 解密加密的密码并且
- 使用该系统自己的算法将密码存储在系统数据库中。
这种情况可能吗? 我原以为无法解密MD5哈希。
我知道有MD5字典,但是否存在实际的解密算法呢?
有人告诉我,他看到过软件系统:
这种情况可能吗? 我原以为无法解密MD5哈希。
我知道有MD5字典,但是否存在实际的解密算法呢?
不行,这是不可能的。你可以使用字典,或者尝试哈希不同的值,直到得到你想要的哈希值。但它无法被“解密”。
MD5是一种密码学(单向)哈希函数,因此没有直接的方法来解码它。密码哈希函数的整个目的在于您无法撤消它。
您可以尝试暴力破解策略,其中您猜测被哈希的内容,然后使用相同的函数进行哈希并查看是否匹配。除非被哈希的数据很容易猜测,否则可能需要很长时间。
目前还无法将密码的哈希值放入算法中并以明文形式获取密码,因为哈希是单向的。但人们所做的是生成哈希并将其存储在一个大表中,这样当您输入特定的哈希时,它会检查密码匹配哈希的表,并将该密码返回给您。一个执行此操作的网站示例是http://www.md5online.org/。现代密码存储系统通过使用盐算法来对抗此问题,使得在注册期间将相同的密码输入到密码框中会生成不同的哈希值。
不,你不能解密/反转MD5,因为它是一种单向哈希函数,除非你能在MD5中找到广泛的漏洞。另一种方法是有一些网站拥有大量的密码数据库集合,因此您可以在线尝试解码您的MD5或SHA1哈希字符串。 我尝试了一个网站,像http://www.mycodemyway.com/encrypt-and-decrypt/md5这样的网站对我来说运行良好,但这完全取决于您的哈希是否存储在该数据库中,如果是,则可以获取实际字符串。