md5在网络安全中起到非常重要的作用,它被用于保证数据的完整性,以及数据不被篡改。同时,md5还被用来进行密码加密。一些朋友不了解为什么md5不可逆,却还可能被号称能解密md5的网站解密。因此,有人说md5不够安全,不应该广泛使用。
md5为什么不可逆?
md5不可逆是因为它是一种散列函数,也叫哈希函数。它是一个单向密码体制,即从明文到密文的不可逆映射,只有加密过程没有解密过程。哈希函数可以将任意长度的输入经过变化后得到固定长度的输出,这个固定长度的输出称为原消息的散列或消息映射。注意:在计算过程中原文的部分信息是丢失的。
md5不够安全,不应该被广泛使用
MD5是一种被广泛使用的密码散列函数,是实现数据完整性验证的方法之一。md5主要用来保证数据的完整性,保证数据在传输中既不丢失,也不会经过篡改。有人说md5不够安全,不应该广泛使用,这种看法是对的。但是,实际上md5还在被广泛应用中。因为目前数通项目上,老款软件硬件也只支持md5,等级保护也暂时没有废除md5的使用。虽然说有安全漏洞,但是很多地方还没有更新哈希算法。
为什么md5可能被一些网站解密
md5之所以能够被解密,是因为很多人将提前计算好的大量字符串存储到数据库中,以供人查询。这种md5解密,其实是从数据库中查询,这算不上真正意义上的解密。md5解密是不可逆算法,是无法解密的。
网上那些说可以解密的网站,就相当于md5的字典库,就是原文和密文的对应表。这种网站的数据量庞大,上万亿级别,如果用户的密文刚好存在于字典库里面,一查对应表就可以了。但是这种网站并不是所有的md5都能解密,如果用户的密码很复杂,就要根据这个网站的数据库和数据量而定了,一般来说太复杂的密码是无法查询出来的。
md5解密网站解密测试
为此,我们来做一个测试,在网上找一个md5在线解密网站:https://www.md5.cn/,先登录账号,然后输入密文:a141c47927929bc2d1fb6d336a256df4。接着输入验证码,再点击蓝色解密安全,然后得到解密结果:abc1234。前后不到5秒钟就查出来了,这速度还是可以的。
但是并不是所有的密文它都能解密,我们在输入框中输入:ba59abbe56e058dejw5edh,然后输入验证码,点击解密按钮,过一会就出现这样的一行字:解密失败,已加入本站后台解密,请耐心等待解密结果!系统会自动通知您查最新结果!这表明数据库中没有收录对应的原文,无法查询出来。
md5不可逆是因为它是单向密码体制,在计算过程中原文的部分信息丢失。网上很多网站说能解密md5,其实不算真正意义上的解密,它只是从数据库中查询匹配的原文而已。