MD5摘要算法的几种破解方法!

article/2025/9/22 8:15:23

你知道的越多,不知道的就越多,业余的像一棵小草!

你来,我们一起精进!你不来,我和你的竞争对手一起精进!

编辑:业余草

推荐:https://www.xttblog.com/?p=5259

MD5 算法暴力破解的几种方法

前言

昨天微信群里又热闹了起来,我一看消息,原来是有人在讨论:“如果突然有一天 MD5 算法被破解了,可逆了怎么办?

其中有些网友表示,这题我会。

“如果它被破解了,我 35 岁之后就有事干了”

“如果可逆了,全宇宙最强的压缩算法就诞生了,任意字节数据都可以压缩到128bits”

“根据摘要就能把论文全文推导出来,碉堡了”

...

群消息刷了很多,都在带薪摸鱼,却没人讨论,具体怎么破解。所以,今天我就来献丑一下,浅谈一下 MD5 怎么样“破解”,大家轻喷!

逆向是不可能逆向的

在正式介绍 MD5 “破解”的方法前,先说明一点:目前我们没办法把 MD5 字符串还原回对应的原文。道理很简单,任意长度的数据经过 MD5 处理后,所包含的信息量已经大大减少。要是可以还原的话,那 MD5 岂不是成为最强的压缩算法了??

所以,目前所谓的“破解”指的就是“碰撞”。即找到一个原文,算出来的 MD5 码和已知的 MD5 码一样。接下来介绍一些常见的破解方法。

暴力碰撞:穷举法&字典法

小标题上写了两种方法:穷举法和字典法。但是我认为它们的本质是一样的,都是利用计算机的资源尝试碰撞已知的 MD5 码。这里就放在一起了。

穷举法非常简单,就是不停地尝试各种字符的排列组合,看哪一个组合的 MD5 码能对上。可惜缺点是太耗费时间了。我们举个栗子,假设我们要破解一个 6 位大小写字母和数字混合的密码,那么一共有 种组合。这个数的大小超过 500 亿。

只考虑大小写字母和数字,每一位有 62 种可能,那么 8 位密码的排列组合就是 62 的 8 次方,218340105584800,约等于二百万亿!

既然计算如此费时,能不能考虑「把计算结果以映射表的形式存放起来,一个萝卜一个坑」,一个原文对应着一个 MD5 码呢?可以呀!这就是传说中的“字典法”。将已知的 MD5 码查表,直接反查出原文。

字典法体现了算法设计的“以空间换时间”的思想「缺点是比较耗费空间。不过现在硬盘的价格变得白菜价了,空间开销不算什么。」

所以,简单且常见的密码,如果用了 MD5 加密,会被暴力的很快。况且现在量子计算机要来了,等量子计算机发展到和我们现在的普通笔记本大小,MD5 被暴力的就更快了,说不定就是分分钟的事。

给大家推荐一个用字典法破解 MD5 的网站:https://www.cmd5.com/password.aspx

时间和空间的折中:哈希链表&彩虹表法

如果说穷举法太耗费时间,字典法太耗费存储空间的话,我们能不能考虑在时间消耗和空间消耗之间折中呢?我们可以考虑用链表将一系列有意义的原文和 MD5 码串起来。

要构造这样的链表,我们需要两个函数:哈希函数 H(x)和衰减函数(reduction function)R(x)。哈希函数可以是 MD5,也可以是其他的消息摘要算法。H(x) 的值域是 R(x) 的定义域,R(x)  的值域是 H(x)的定义域。「R(x)不是H(x)的反函数。」

将一个原文不停地使用 H(x) 和 R(x) 交替进行运算  k次,再将原文本身和运算结果以链表的形式串接起来,就可以得到结点个数为 2k+1 的链表。实际存放的时候只存放首端和末端两个原文即可。「这种链表叫做“哈希链表”,体现了算法设计的“时空权衡”(Space and Time Tradeoffs)。」

举个栗子,假设原文s=abcabc,经过 2 次交替运算,得到以下的链表:

abcabc->H(x)->3C8B0D7A->R(x)->eopmca->H(x)->7E9F216C->R(x)->rapper

以上数据均为举例编造的,仅为说明原理使用。那我们存放这个链表的时候,只需要记录 abcabc 和 rapper 两个原文即可。

假设我们要破解的摘要值(哈希链表的 H(x) 不一定是 MD5 算法,这里用更准确的说法代替 MD5 码)是 7E9F216C,经过 R(x) 运算得到 rapper,说明我们要寻找的原文就在以 rapper 为末端的哈希链表中。从首端开始经过多次运算,我们发现 eopmca 的摘要值就是 7E9F216C。于是就反查出 7E9F216C 对应的原文是 eopmca。

「如果在生成哈希链表的时候依次使用多个不一样的 R(x),此时的哈希链表就是“彩虹表”。」

文字描述起来太过复杂,还是用图列举一个 demo。

彩虹表法

这里再给大家推荐一个已经计算好的彩虹表:http://project-rainbowcrack.com/table.htm

差分攻击

上面介绍的穷举法、字典法和彩虹表法都是暴力破解,适用于任何的消息摘要算法。真正意义上 MD5 算法的破解,是 2004 年山东大学王小云教授提出的 MD5 碰撞方法。她所用到的方法正是差分攻击。

这种方法概括起来说是这样的:给定一个 1024 位的原文 M1,加上一个特定的常数得到的新的明文 M2。M1 和 M2 的 MD5 码是一样的。(这里大家可以去找具体的论文)这个特定的常数到底是怎么找出来的?笔者当时在查阅原始文献的时候也不清楚。因此后来的研究者开始对怎么样差分进行了各种各样的研究。具体的方法比较复杂,我就这里就不再赘述,班门弄斧了。

后记

其实还有一种破解 MD5 的方法——长度扩展攻击。不过这种方法是在一定条件下(破解加盐之后产生的 MD5 码)才能用的。这种方法由 MD5 分块计算的特性而来。

如果,我是说如果。你能逆转破解成功,你一定会获得图灵等计算机大奖。大大的解放数据存储能力,任何数据都可以用一段字符串表示。


http://chatgpt.dhexx.cn/article/IwoscgLf.shtml

相关文章

比起高性能计算,高端存储才更亟待国产化

科技云报道原创。 上周末,2019全国高性能计算学术年会在内蒙古开幕,对于行业内的人来说,这是一个每年不能再熟悉的代表高性能领域的峰会了,CCF如今已经成为世界三大高性能计算学术年会之一。 ​ 值得注意的是,2019年的…

评测|HPE Nimble AF全闪存系列,诠释真正的高端存储

【IT168 评测】导语:随着AI、互联网、大数据等技术快速发展,企业对存储设备的需求已踏上一个更高的级别,高性能、低延时、大容量等多种需求的应用场景愈发常见,在这种情况下,寻求能够满足相应工作负载能力的存储设备已…

高端存储下一个爆款凭什么是它?

高端存储是企业级存储领域最令人淡定的市场,淡定在于这个市场门槛高,真正赢得了用户认可之后,基本上都可以淡定地稳步发展,但是想要取得绝对的优势,那还是需要下一番功夫不可。只是功夫非一日练成,更需耐力…

再获最佳推荐,华为高端存储凭什么征服DCIG?

近日,全球著名技术分析机构DCIG发布《DCIG 2023-24高端存储阵列TOP5》报告,华为OceanStor Dorado 18000凭借可靠性、易用性和安全性等诸多优势,在DELL EMC、IBM、HPE、PureStorage等一众国际厂商中脱颖而出,荣获最佳推荐榜首。 一…

【业界新闻】浪潮高端存储系统技术发展及展望(上篇)

转自:http://news.watchstor.com/corp-147547.htm [导读]从“9.11事件”之后大量的企业因为数据丢失而宣告破产可以看出数据的重要地位。随着计算机技术的发展,实现了数据计算和数据存储的分离,而数据存储由存储系统完成。存储系统的出现&…

HDS不玩了,高端存储还能玩多久?

据悉,“日立公司高级管理系统与服务业务副总裁Keiichi Shiotsuka的表述。他指出,日立公司正"着手冻结存储业务之内高端机型的投资,且在对低营收硬件开发业务进行结构化调整,旨在于2019年3月31日之前将系统与服务业务运营利润…

【观察】Hitachi Vantara:高端存储再“升级”,数字化转型再“升维”

我们知道,“数字经济”自2017年政府工作报告首次提及至今,已多次被写入政府工作报告,这也意味着数字经济已对中国的经济运行方式产生深远影响,成为经济发展中的核心主线。 同样,作为数字经济中的关键生产要素&#xff…

HDS VSP/VM高端存储更换硬盘

实施磁盘更换时,最好带上防静电手环 一、 故障描述 HDS VM存储有一块硬盘报红色灯 打开机框 拧开前面的螺丝,拉手往外啦,不行去后面推下 二、 SVP管理界面确认故障硬盘 管理口console,接网线,管理地址。将笔记本配置…

HDS VSP/VM高端存储更换电池

如果硬盘和电池都有问题先换硬盘 登录控制台点击Infomaiton 点击log 点击list 选择日志 点击content查看具体日志 查看日志提示电池生命到期 两个电池都到期都要换 开始更换电池 注意:先换一块电池,等换上去的电池充电到50%以上在换第二块电池 点击…

存储专栏:深度解读高端存储的快照技术

source: http://www.doit.com.cn/p/198128.html 存储专栏:深度解读高端存储的快照技术 2013-09-04 分类:企业IT 评论(0) 存储在线专栏文章:之前,西瓜哥已经介绍了所有的高端存储产品,包括EMC Symmetrix、HDS VSP、I…

高端存储未来之路在哪?VSP 5000系列带来新答案

VSP 5000系列--Hitachi Vantara新一代高端存储系统,然而它并没有沿袭过去产品命名的规律,“之所以用5000这个数字,是想表明它的确是一款具有突破性的产品。”Hitachi公司IT平台产品管理部副总裁Akinobu Shimada如是说。 高端存储&#xff0c…

高端存储“四十不惑”

古人云,四十不惑。 这四个字,现在形容高端存储最合适不过了。 为什么呢? 秉持初心,继往开来 谈高端存储,自然少不了Hitachi Vantara。 对于不太了解Hitachi Vantara的朋友,这里我多介绍两句&#xff0…

转型不忘初心,决定一个高端存储厂商的未来

全球企业级存储市场上排名前16强,其中有一半的厂商专业做存储,心无旁骛。 专业自然会更专心,专心致志往往意味着自己向前的路将变得狭窄了起来。 对于像综合性的企业级IT厂商来说,前面的路还是比较好走,毕竟可以为企…

SDS 2.0:能否让高端存储服“软”?

1990年,EMC Symmetrix 4200问世,标志着高端存储时代正式开启。 斗转星移,高端存储已走过三十余载:从最初5.25英寸硬盘到如今闪存、SCM等新介质,从最初只有4MB集成缓存到如今上动辄TB级的缓存,从最初直连架…

HDS 高端存储TC原理和配置总结

一. TC配置要求 1)P和S位于不同的存储 2)P和S要以block为单位大小相等 3)P和S都要求被Mapping 4)创建从P到S的路径 5)确认从S到P的路径并保留端口TC link的需求 A:存储映射到主机使用的端口(端口类型为:Target) B:TC配置需要的端口,根据2个存储的卷在TC中不同定位,端口…

重新定义高端存储架构,华为Dorado V6树立全闪存新标杆

企业级存储正在迎来它真正的全闪存时代。 由于闪存介质在成本上的不断下降,闪存容量的不断攀升,以及软件功能的不断完善,全闪存存储逐渐成为市场的主流。根据IDC的统计数据,全闪存存储的营收规模已经与传统基于机械硬盘和混合介质…

【观察】PowerMax:高端存储,中国制造

我们知道,随着存储市场的快速发展,高端存储在人们心中已不再是那么高高在上,遥不可及。但是,是否拥有强大的技术实力、市场和品牌的长期积累、能否经受得住各行各业不同应用的关键业务场景长时间考验和大量企业级客户的反复实践验…

高端存储发展趋势

1. 高端存储的技术发展趋势 松耦合 高端存储刚出现的时候,采用的是紧耦合的多控体系架构。紧耦合架构的特点就是所有的资源都是物理集中在一起的,这些资源通常包括前端接口,后端接口和Cache,一般都插在一个大机箱里。随着技术的发…

高端存储发展简史

任何一个时代,都必然会有英雄。 阿明|全球存储观察 数据存储发展了多年,特别是高端存储历经四十多年的发展,从大型机诞生与之成为标配,到当前进入云与智能时代下的创新演进。 作为数据存储领域当仁不让的“英雄”&am…

高端存储技术与应用趋势

高端存储技术与应用趋势 西瓜哥 发表于:14年06月17日 18:22 [来稿] 存储在线 西瓜哥 高端存储 分享: [ 导读]我们一般把广义高端存储里面支持SAN的存储系统叫狭义的高端存储,或者叫高端SAN。因为企业最关键的数据资产一般是结构化数据&…