Posts for: #密码恢复

RAR/ZIP 压缩包密码忘了怎么办?2026 年完整恢复指南

作为技术人员,你一定经历过这样的噩梦:几个月前加密的压缩包,密码死活想不起来了。里面可能是重要的项目资料、珍贵的照片备份、或者是离职前交接给你的技术文档。别慌,这篇文章系统梳理了当前主流的压缩包密码恢复方案。

压缩包加密的基本原理

在讨论恢复方案之前,先理解压缩包是怎么加密的。这决定了哪些恢复方案可行,哪些不可行。

ZIP 加密

ZIP 格式支持两种加密方式:

传统 ZIP 加密(ZipCrypto):
  - 基于流密码的简单加密
  - 安全性较低,存在已知的明文攻击漏洞
  - 如果压缩包内有你知道内容的文件,可以通过已知明文攻击快速破解
  - 恢复难度:★★☆☆☆

AES-256 加密(WinZip AES):
  - 基于 AES-256-CBC 的现代加密
  - 目前没有已知的密码学漏洞
  - 只能通过暴力枚举或字典攻击恢复
  - 恢复难度:★★★★☆

RAR 加密

RAR3 加密:
  - AES-128-CBC
  - 密钥派生使用 PBKDF2,但迭代次数较低
  - 恢复速度:中等

RAR5 加密:
  - AES-256-CBC
  - 密钥派生使用 PBKDF2-HMAC-SHA256,迭代次数可配置
  - 抗暴力破解能力显著增强
  - 恢复速度:较慢

关键认知:现代加密算法(AES-256)本身是无法被「破解」的。 所有恢复方案本质上都是在尝试猜测密码——通过字典攻击、暴力枚举、规则变异等方式,逐一尝试可能的密码组合。

方案一:回忆与推理(零成本,优先尝试)

在动用任何工具之前,先花 10 分钟做密码推理。很多人忽略了这一步,直接上工具,浪费了大量时间。

密码回忆清单:

1. 检查你的密码管理器
   - 1Password / Bitwarden / KeePass 中是否保存过?
   - 浏览器密码管理器中是否有记录?

2. 常见密码模式
   - 你的常用密码 + 数字后缀(如 MyPass2024)
   - 项目名称 + 特殊字符(如 Project@Arch)
   - 日期组合(如 20240101、199506)
   - 手机号、身份证号的部分数字

3. 查看历史记录
   - 邮件中是否有发送过这个压缩包?附件里可能有密码
   - 聊天记录(微信/钉钉/Slack)中是否提到过密码?
   - 笔记软件(Notion/Obsidian/备忘录)中是否有记录?

4. 询问相关人
   - 谁给你的这个压缩包?
   - 当时是在什么场景下加密的?

方案二:本地恢复工具

如果回忆无果,可以使用本地工具进行密码恢复。

[阅读全文]

Word/Excel 文档加密密码恢复:从原理到实战

前两天帮一位做财务的朋友恢复了一个加密的 Excel 文件密码——那里面存着三年的税务数据,密码忘了但文件又不能丢。Office 文档的加密机制和压缩包完全不同,恢复策略也有很大差异。这篇文章把 Office 文档密码恢复的技术原理和实战方案完整梳理一遍。

Office 文档的加密演进

Office 文档的加密方案随着版本迭代发生了很大变化。了解加密版本是选择恢复方案的前提。

Office 97-2003(.doc / .xls / .ppt):
  加密方式:RC4(40-bit 密钥)
  安全性:极弱
  恢复难度:★☆☆☆☆
  说明:40-bit 密钥空间只有 2^40 ≈ 1 万亿种组合,现代 GPU 几小时即可穷举

Office 2007(.docx / .xlsx / .pptx):
  加密方式:AES-128 + SHA-1
  密钥派生:PBKDF2,迭代 50,000 次
  安全性:中等
  恢复难度:★★★☆☆
  说明:迭代次数显著增加了暴力破解的难度

Office 2010:
  加密方式:AES-128 + SHA-1
  密钥派生:PBKDF2,迭代 100,000 次
  安全性:中等偏上
  恢复难度:★★★☆☆

Office 2013-2021 / Microsoft 365:
  加密方式:AES-256 + SHA-512
  密钥派生:PBKDF2,迭代 100,000 次(可配置到 1,000,000)
  安全性:强
  恢复难度:★★★★☆
  说明:AES-256 + 高迭代次数,对暴力破解有很强的抵抗力

查看你的文档使用的加密版本

# 使用 msoffcrypto-tool 查看加密信息
import msoffcrypto

with open('encrypted.xlsx', 'rb') as f:
    file = msoffcrypto.OfficeFile(f)
    print(f"加密类型: {file.file_type}")
    print(f"密钥大小: {file.keyTypes}")
    # 或者使用命令行:
    # msoffcrypto-tool -t encrypted.xlsx

Office 的两种「加密」:别搞混了

很多用户混淆了 Office 的两种保护机制:

[阅读全文]

PDF 文件密码忘记了?加密 PDF 恢复方案全面对比

PDF 加密比其他文件格式更「诡异」——它有用户密码和所有者密码两套机制,安全性差异巨大。上周遇到一个案例:一份加密的 PDF 合同,打不开也打印不了,折腾了一下午终于搞定了。这篇文章把 PDF 密码恢复的技术细节彻底讲清楚。

PDF 加密的两种密码

PDF 的加密机制和其他文件格式最大的不同在于:它有两种独立的密码

用户密码(User Password / Open Password):
  作用:打开文件时必须输入
  效果:文件内容被加密,没有密码无法查看
  恢复难度:取决于加密算法版本
  这是真正意义上的「加密」

所有者密码(Owner Password / Permissions Password):
  作用:限制打印、复制、编辑等操作
  效果:文件可以打开查看,但不能执行受限操作
  恢复难度:★☆☆☆☆(几乎可以秒解)
  这不是真正的加密,只是一个「限制标记」

如何判断你的 PDF 是哪种密码?

场景 1:打开 PDF 时弹出密码输入框
  → 用户密码(需要正经恢复)

场景 2:可以打开查看,但打印按钮灰色/复制文字失败
  → 所有者密码(可以轻松移除)

场景 3:既需要密码打开,又有操作限制
  → 两种密码都设置了(先恢复用户密码,再移除所有者密码)

所有者密码:秒解方案

所有者密码不加密文件内容,只是在 PDF 元数据中设置了一个权限标记。有密码可以修改权限,没密码也可以直接移除。

方法 1:Ghostscript(命令行,免费)

# 安装 Ghostscript
# macOS: brew install ghostscript
# Ubuntu: sudo apt install ghostscript

# 移除所有者密码(重新生成 PDF)
gs -q -dNOPAUSE -dBATCH \
   -sDEVICE=pdfwrite \
   -dCompatibilityLevel=1.4 \
   -sOutputFile=unlocked.pdf \
   encrypted.pdf

# 原理:Ghostscript 读取 PDF 内容后重新生成一个新的 PDF
# 新 PDF 不包含任何权限限制

方法 2:qpdf(命令行,免费)

# 安装 qpdf
# macOS: brew install qpdf
# Ubuntu: sudo apt install qpdf

# 移除所有加密
qpdf --decrypt encrypted.pdf unlocked.pdf

# 如果同时有用户密码,需要提供密码
qpdf --password=yourpassword --decrypt encrypted.pdf unlocked.pdf

方法 3:在线工具

各种在线 PDF 工具(如 ilovepdf.com、smallpdf.com)都可以一键移除所有者密码限制。原理和 Ghostscript 一样——读取内容后重新生成。

[阅读全文]

BitLocker 加密磁盘密码恢复:方案、工具与注意事项

BitLocker 是 Windows 自带的全盘加密功能,很多企业在部署笔记本时会默认开启。它的安全性远高于文件级加密——一旦密码丢失,整个磁盘的数据都不可访问。这篇文章详细梳理了 BitLocker 密码丢失后的所有恢复路径。

BitLocker 的工作原理

在讨论恢复方案之前,有必要先理解 BitLocker 的加密架构。

BitLocker 加密层次:

┌─────────────────────────────────────┐
│ 全卷加密密钥(FVK / Full Volume Key)│ ← 真正加密磁盘数据的密钥
├─────────────────────────────────────┤
│ 保护密钥(保护 FVK 的多种机制)       │
│  ├─ TPM 芯片(硬件级密钥存储)       │
│  ├─ USB 启动密钥                    │
│  ├─ 恢复密钥(48 位数字)            │
│  └─ 用户密码 / PIN                  │
├─────────────────────────────────────┤
│ AES-128 或 AES-256 全盘加密          │ ← 加密整个系统分区
└─────────────────────────────────────┘

关键理解:BitLocker 的真正密钥是 FVK(Full Volume Key)。用户密码、TPM、PIN 码等都是「保护密钥的方式」,它们的作用是保护 FVK 不被未授权访问。

这意味着 BitLocker 的恢复有两种思路:

[阅读全文]

WiFi 密码忘了怎么办?WPA2/WPA3 握手包恢复实战教程

家里换了路由器之后忘了 WiFi 密码,或者公司前任网管离职了没交接 WiFi 密码——这些场景比想象中更常见。这篇文章从技术角度讲解 WiFi 密码的加密原理和恢复方案,同时也会谈谈 WPA3 带来的安全改进。

WiFi 加密协议演进

WiFi 安全协议时间线:

WEP (1997)      → 已被完全破解,几分钟即可恢复密钥
WPA (2003)      → TKIP 加密,存在已知漏洞
WPA2 (2004)     → AES-CCMP,目前主流,安全性较高
WPA3 (2018)     → SAE 握手,抗离线字典攻击

WPA2 的认证机制:四次握手

WPA2 使用「四次握手」(4-Way Handshake)来验证客户端和路由器是否知道相同的密码:

WPA2 四次握手流程:

    路由器 (AP)                          客户端 (Client)
       │                                      │
       │  ── 1. ANonce (随机数) ──────────→   │
       │                                      │
       │  ←── 2. SNonce + MIC ─────────────   │
       │     (客户端的随机数 + 消息完整性校验)   │
       │                                      │
       │  ── 3. GTK + MIC ────────────────→   │
       │     (组密钥 + 确认)                    │
       │                                      │
       │  ←── 4. 确认 ─────────────────────   │
       │                                      │

关键点:
  - 密码本身不在网络上传输
  - 握手过程使用密码派生的 PMK (Pairwise Master Key) 来生成加密密钥
  - PMK = PBKDF2(密码, SSID, 4096, 256)
  - 攻击者可以捕获握手包,然后离线尝试猜测密码

为什么 WPA2 可以被离线恢复?

WPA2 的安全模型:

PMK = PBKDF2(HMAC-SHA1, 密码, SSID, 4096, 256位)
       ↑                    ↑      ↑
       密码学哈希函数        WiFi名  迭代次数

PMK 是固定的(同一个密码 + 同一个 SSID = 同一个 PMK)
四次握手中的 Nonce 是随机的

攻击者的思路:
  1. 捕获一次完整的四次握手包
  2. 离线计算:对每个候选密码,计算 PMK,然后验证是否能生成正确的 MIC
  3. 如果 MIC 匹配 → 密码正确

这就是为什么只需要捕获一次握手包,就可以无限次地离线尝试密码

第一步:捕获握手包

要恢复 WiFi 密码,首先需要捕获一次完整的四次握手。

[阅读全文]

云算力 vs 本地破解:2026 年加密文件恢复方案选型指南

作为一名架构师,我习惯用系统思维来分析问题——即使这个「问题」是忘了自己加密文件的密码。加密文件密码恢复本质上是一个算力密集型任务,而算力的获取方式无非两种:本地和云端。这篇文章从架构角度对比两种方案的优劣,帮你做出理性的选择。

密码恢复的算力需求模型

先建立一个定量的认知框架。不同的加密格式,每次密码尝试的计算成本差异巨大:

各格式单次密码尝试的计算成本(从低到高):

WPA2 握手包:     PBKDF2-SHA1, 4096 迭代     → 约 1,600 FLOPs/次
ZIP (ZipCrypto): RC4-40                       → 约 500 FLOPs/次
RAR3:            AES-128 + SHA1               → 约 5,000 FLOPs/次
Office 2007:     AES-128 + SHA1, 50K 迭代     → 约 20,000 FLOPs/次
RAR5:            AES-256 + SHA256, 可配置迭代  → 约 50,000 FLOPs/次
Office 2013+:    AES-256 + SHA512, 100K 迭代  → 约 100,000 FLOPs/次
BitLocker:       AES-256 + SHA256, 高迭代     → 约 100,000 FLOPs/次

这意味着同一个 GPU,恢复 WPA2 密码的速度是恢复 Office 2013+ 密码的 60 倍以上

[阅读全文]