MD5加密算法介绍
admin
2023-02-20 05:00:06
0次

MD5算法是哈希算法的一种,虽然不能算真正意义上的加密算法,但几乎在任何一个系统中,都少不了他的身影。MD5算法全称叫 Message Digest Algorithm 5(信息摘要算法5),是数字摘要算法的一种实现,摘要长度为128位。由于它哈希算法的典型特征,注定了他无法从密文准确还原出明文,因此MD5算法不能算真正的加密算法,但在很多地方也笼统地叫它是加密算法。由于其具备了足够的复杂性和不可逆性,因此主要用于确保信息传输完整性和一致性。他还有早期的“不太争气”的几代MD2、MD3、MD4(早期的几代就是由于复杂度不够被破解了)。正是由于MD5算法有如此特性,在业界应用非常广泛,主流的编程语言都自带有MD5的实现。

最常见的,很多系统中的用户密码都采用了MD5加密算法进行加密。但是树大必然招风,就像windows系统应用广泛了,安全性就收到了挑战,MD5也不例外。度娘一下就会发现,有诸多网站提供MD5破解,有的甚至需要收费提供破解服务。

不过不用担心,目前能破解MD5并还原出原始数据的成功率很低(当然像123456这种弱智的原文,就不要提了,其他的破解可以自行度娘试试)。这就需要提到现行MD5算法的主要破解思路,其实核心只有一个,那就是暴力碰撞(其他还有两种 字典法、彩虹表法都是暴力碰撞法的改良,原理一样),说白了就是用已知的字符进行各种变态组合,生成众多的密文与原文的对应库,然后反向根据密文,找到对应的明文。

比如,你的明文数据是 abcd1234(当然实际不应该这么简单,这里只是举例),加密出来的密文是e19d5cd5af0378da05f63f891c7467af,那么不安好心的人就会用密文e19d5cd5af0378da05f63f891c7467af去提供这种破解的工具或者服务那里,查询这个密文有没有对应明文,如果有,就代表破解成功了,然后他就拿这个“破解”得到的明文去登录你的账号,结果可想而知。
MD5加密算法介绍
成功进入了你的领地,但这个成功,是不完美的。因为md5的不可逆性,大多数账号登录过程,只能拿用户输入的原文加密成MD5密文后去跟数据库里的密文比较,相同则认定密码正确。

但这也有漏网之鱼,因为即使破解出来的结果不是上面说到的abcd1234而是xxxxx,也有可能用xxxx成功登录系统。

因为MD5虽然不可逆,但不是唯一性。 这里所谓的破解,并非把摘要还原成原文。为什么呢?因为固定128位的摘要(也就是加密后的密文)是有穷的,而原文数量是无穷的,每一个摘要都可以由若干个原文通过Hash得到。换句人话说,就是不同的原文可能加密后得到相同的密文。那么拿密文猜测原文就会得到多个结果,单纯比较密文,就会被认为是一致的。而反过来,也是同理。拿到不一定对的还原出来的明文去做其他操作,也不一定能成功。
MD5加密算法介绍
总结一下,MD5加密算法之所以破解成功的概率很低,主要由于以下几点:
1)依赖暴力碰撞的破解思路,意味着需要尽可能多的组合所有字符,形成海量的配对库,用于通过密文反向查询明文,但字符种类千千万万,所有都进行组合,可能性都超过地球的细胞总数了,估计现在所有硬盘加在一起的空间都存不下,成本之高,可想而知。

2)目前能破解的都属于已经被组合猜测过的,一般也都是长度较短的或者比较有规律的组合。只要长度越长越没有规律,不同类型字符组合越多,破解概率越低,几乎不会成功。

3)就算密文对了,原始明文也不一定对,当然这是最后一道防线,听天由命了。

另外,MD5的用途,目前主流的无非两种,一种是用于类似用户密码等不需要还原的敏感数据的加密,一种是用于确保信息传输完整性和一致性。其实,第二种用途才是他诞生的初衷。

这里简单提一下第二种用途。很多支付接口、数据交互接口,都采用基于MD5来确保数据的完整性和一致性,也就是在网络传输过程中没有被篡改。如何保证数据不被篡改,仅仅依靠MD5做不到,还需要联手其他加密算法,具体请后续再谈。

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...