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

密码恢复的算力需求模型

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

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

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 倍以上