MD5
md5是一种信息摘要算法,不可反向解密,不同长度的内容加密后都是32位。它是单向密码体制,从明文到密文的不可逆映射,只有加密过程没有解密过程。既然md5是不可逆的,为啥看到网上很多网站声称可以解密md5呢?下面,一起来讨论一下这个问题。

了解md5为什么是不可逆的

md5不可逆的原因是因为它是一种散列函数,使用的是hash算法,在计算过程中原文的部分信息是丢失了的。也就是说,MD5的运算过程存在信息丢失。由于不知道运算过程中会有多少个进位在哪一步被丢弃,因而仅仅根据MD5的计算过程和得到的最终结果,是无法逆向计算出明文的。这才是MD5不可逆的真正原因。

md5算法的应用

md5主要应用于密码管理、电子签名、垃圾邮件筛选。

为什么网上在线md5解密网站能够解密md5?

既然md5无法逆运算,为什么网上还有很多声称可以解密md5的网站,其实这不是真正意义上的解密了。网上搜索到的md5解密网站是成千上万的md5原文和md5密文,放到了数据里,所谓的解密就是从数据库里查询有没有原文。
这种网站相当于md5的字典库,就是原文和密文的的对应表,数据量很庞大,上万亿级别,如果用户的密文正好在字典库里面,一查对应表就行。很多用户的密码都不够复杂,所以很容易被这种方式生成出来。一般网上这种md5解密网站能解密8位数左右的纯数字密码。密码太复杂的话,要根据这个网站的数据库和数据量而定。
网上的md5解密网站:http://www.md5.cn/
image.png
在网上搜索到一个声称可以解密md5的网站,下面来测试一下,看它是否真的能解密。
1、打开这个md5解密网站,登录账号,可以用QQ登录或者用微信登录,没有账号的要先注册。
2、在首页的输入框输入需要解密的md5密文:a141c47927929bc2d1fb6d336a256df4。
image.png
3、输入正确的验证码,接着点击蓝色解密按钮,稍等片刻就可以得到解密结果:abc1234。

怎么防御?

1、增加原文长度。当原文是12位英文字母和数字的组合,那么被解密的可能性极低。因为原文的可能性有36的12次方,吧所有的可能性都试一遍,大概需要3万年。
2、不要在别人的网站上随意计算md5,有的在线md5加密网站,用了之后会把原文和密文保存到字典中。
3、加密时加入盐。
通过网上的各种资料介绍,总算对md5不可逆,但是网上又有很多网站声称可以解密md5这个问题,有了大概的了解。大家在平时生活工作中,设置密码的时候不要偷懒,尽量设置复杂点的密码,简单密码可不安全。