RAR、ZIP、7z 密码忘了?同一个密码,三种格式难度能差上百倍(rar 11 位密码 破解难度) szthrk.cn

先摆一组实测数据。

同样是 RTX 4090、同样跑 hashcat 6.2.6,处理不同压缩格式的密码校验,速度是这样的:

最高和最低差了将近一百倍。

这意味着什么?同一个密码,如果是 ZIP,可能几秒钟就试出来了;同样一个密码放在 RAR5 里,得跑好几天。

所以压缩包密码这件事,第一个该问的不是"密码多长",而是"这是什么格式"。


一、为什么格式的影响这么大

压缩包加密的核心是"密钥派生"——把你的密码变成一把真正的密钥。不同格式派生的方式不同,代价也就不同。

关键在于"要循环多少次"

早期的 ZIP(ZipCrypto)几乎不做什么处理,密码算一遍就用。所以校验极快,快到用 CPU 都能每秒试几千万次。

而 RAR、7z 这类后起格式,为了防止被快速穷举,故意把派生过程做得很慢:

  1. 要反复计算几万到几十万次,才能得出一个密钥
  2. 试一个密码,就要付出这些计算量
  3. 攻击者想快也快不了——这是设计目的

这就像门锁:ZIP 是那种一拧就开的弹簧锁,RAR 是需要转三圈半的保险柜锁。撬十个弹簧锁的时间,可能还不够撬一个保险柜。

各格式的加密方案

注意 ZIP 那两行的差别:很多人以为"ZIP 都好破",其实要看用的是传统加密还是 AES。用 WinRAR / 7-Zip 压缩时如果勾了"ZIP 加密 AES-256",强度会拉开一个档次。

怎么判断自己的包是哪种

右键看压缩包属性,或者用一个测试:用 7-Zip 打开,看"方法"一栏。写着 ZipCrypto 的是传统加密,写着 AES-256 的是新式加密。

不同加密方式得用不同的攻击参数,选错了会一直跑不出结果——这是很多人卡住的地方。


二、一个必须澄清的误解:压缩包密码删不掉

这点和 Office 的权限保护完全不同,必须先说清楚。

Excel 的工作表保护,删掉一个 xml 标签就解了。压缩包不行。

原因在原理层面:

WinRAR、7-Zip 这类软件在压缩时,会把密码参与进每个字节的加密运算。文件内容和密码是绑定的——没有密码,解出来的就是乱码。

所以不存在"删掉密码标记"这种做法。任何声称"一键删除压缩包密码、免密解压"的工具,要么是骗局,要么是在做别的事(比如它其实是在跑字典,只是包装成了"删除")。

唯一的路径就是:把密码试出来。


三、掩码攻击:把"不可能"变成"几秒钟"

这是压缩包密码找回里最有价值的一招,也是最被低估的。

原理

如果你知道密码的部分结构,就不需要穷举所有组合,只需要跑"未知的那几位"。

举个例子。你下载了一个资源包,密码形如 www.mima8.com——这种域名格式非常常见。你不知道具体是什么域名,但知道结构是"www + 4 个字母 + .com"。

掩码写法:

www.????.com

其中 ? 代表一位未知字符,范围设为小写字母 a-z。这样只需要跑 26 的 4 次方 = 45 万次,而不是 62 的 12 次方那种天文数字。

45 万次在 4090 上跑 7z,不到一秒。

常见场景的掩码写法

(?d 数字、?l 小写、?u 大写、?s 符号、?a 全字符集)

为什么这一步最值得做

我见过太多人,密码忘了就直接上"暴力破解全字符集",跑了两天没结果就放弃。

但只要他能想起"密码里好像有个 2020",搜索空间立刻从万亿级降到万级。

能想起来一点,比多花钱管用得多。 这是这类问题里唯一的"杠杆"。


四、另一个冷知识:纯文本攻击

这个词听起来很玄,原理其实很朴素:用已知的明文去反向验证密钥。

怎么运作

假设你知道这个压缩包里有一个文件,内容你手上有——比如某个开源库的 .dll,或者一份标准文档。

攻击工具可以拿着这份已知内容,用候选密码加密一遍,直接和目标文件里的加密数据比对。不需要解压整个包,只比对这一小段。

这样能省掉大量无效尝试,速度提升明显。

什么情况下有效
  • 包里有你能拿到原文的文件(开源组件、公开文档、系统 DLL)
  • 或者你手上有这个包的另一个未加密版本
  • 普通用户用得不多,但在某些场景下(尤其是老资源包)是有效的加速手段。


    五、个人电脑 vs 集群:差距在算力

    回到开头那张表。RAR5 每秒 27 万次听起来不少,但如果密码是 8 位混合字符:

    62^8 ≈ 2.18 × 10^14 种2.18e14 ÷ 2.7e5 ≈ 8 亿秒 ≈ 25 年

    一台 4090 跑 25 年。

    如果是 100 张同级别显卡并行的集群:

    25 年 ÷ 100 ≈ 3 个月

    还是很久。

    所以结论很直接:

    个人电脑破解压缩包,除非密码结构简单,否则不现实。 电费、硬件损耗、时间成本加起来,比直接买个服务贵得多。


    六、实际操作路径

    如果现在有个包打不开,我建议这么走:

    ① 先确认格式和加密方式。 7-Zip 里看"方法"栏。ZipCrypto 和 AES-256 是两套打法。

    ② 试常见密码和业务相关的词。 自己压缩的包,密码往往和内容相关——项目名、客户名、日期、123456、888888。这一步能解决相当一部分。

    ③ 问发给你的人。 如果包是别人给的,这一步永远应该排在前面。很多"密码忘了"其实是"别人没告诉我"。

    ④ 有线索就走掩码,别硬上暴力。 记住长度、记得部分字符、记得是不是纯数字——任何一点信息都能把时间从"年"降到"分钟"。

    ⑤ 完全没线索,交给集群。 我用的是文档密码恢复大师的压缩包找回,RAR / ZIP / 7z 都支持,也可以先只提交哈希值(不用上传整个包),让它去算。比自己攒机器划算。

    ⑥ 做好算不出来的准备。 这是实话。如果密码是随机串,任何服务都帮不了你——区别只在于,正规的会提前告诉你这个预期,而不是收钱后拖着你。


    七、最后提醒两件事

    破解过程本身不会损坏压缩包。 它只读取文件头做校验,不改内容。但用来源不明的工具、或者参数设错,仍有风险。动手前复制一份备份,这习惯能救命。

    别再用"密码 = 网站域名"这种规律了。 图省事的结果是,全世界都知道你的密码结构——掩码一跑就出来了。用密码管理器生成随机串并记录下来,比什么都强。


    文中哈希速度为 hashcat 6.2.6 + RTX 4090 的公开基准测试参考值,实际随驱动、硬件与加密参数浮动;耗时为理论穷举值,不构成成功承诺。压缩包加密将密码与全部数据绑定,不存在"删除密码"的技术路径。

    本文含商业推广内容。相关工具可在 mima8.cn 找到。