<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Word on 架构视界</title>
    <link>https://blog-architectview.pages.dev/tags/word/</link>
    <description>Recent content in Word on 架构视界</description>
    <generator>Hugo</generator>
    <language>zh-cn</language>
    <copyright>© 2026 架构视界 Architect View</copyright>
    <lastBuildDate>Wed, 13 May 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://blog-architectview.pages.dev/tags/word/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Word/Excel 文档加密密码恢复：从原理到实战</title>
      <link>https://blog-architectview.pages.dev/posts/word-excel-password-recovery-guide/</link>
      <pubDate>Wed, 13 May 2026 00:00:00 +0000</pubDate>
      <guid>https://blog-architectview.pages.dev/posts/word-excel-password-recovery-guide/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;前两天帮一位做财务的朋友恢复了一个加密的 Excel 文件密码——那里面存着三年的税务数据，密码忘了但文件又不能丢。Office 文档的加密机制和压缩包完全不同，恢复策略也有很大差异。这篇文章把 Office 文档密码恢复的技术原理和实战方案完整梳理一遍。&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;office-文档的加密演进&#34;&gt;Office 文档的加密演进&lt;/h2&gt;&#xA;&lt;p&gt;Office 文档的加密方案随着版本迭代发生了很大变化。了解加密版本是选择恢复方案的前提。&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Office 97-2003（.doc / .xls / .ppt）：&#xA;  加密方式：RC4（40-bit 密钥）&#xA;  安全性：极弱&#xA;  恢复难度：★☆☆☆☆&#xA;  说明：40-bit 密钥空间只有 2^40 ≈ 1 万亿种组合，现代 GPU 几小时即可穷举&#xA;&#xA;Office 2007（.docx / .xlsx / .pptx）：&#xA;  加密方式：AES-128 + SHA-1&#xA;  密钥派生：PBKDF2，迭代 50,000 次&#xA;  安全性：中等&#xA;  恢复难度：★★★☆☆&#xA;  说明：迭代次数显著增加了暴力破解的难度&#xA;&#xA;Office 2010：&#xA;  加密方式：AES-128 + SHA-1&#xA;  密钥派生：PBKDF2，迭代 100,000 次&#xA;  安全性：中等偏上&#xA;  恢复难度：★★★☆☆&#xA;&#xA;Office 2013-2021 / Microsoft 365：&#xA;  加密方式：AES-256 + SHA-512&#xA;  密钥派生：PBKDF2，迭代 100,000 次（可配置到 1,000,000）&#xA;  安全性：强&#xA;  恢复难度：★★★★☆&#xA;  说明：AES-256 + 高迭代次数，对暴力破解有很强的抵抗力&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;查看你的文档使用的加密版本&#34;&gt;查看你的文档使用的加密版本&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 使用 msoffcrypto-tool 查看加密信息&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; msoffcrypto&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;with&lt;/span&gt; open(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;encrypted.xlsx&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;rb&amp;#39;&lt;/span&gt;) &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; f:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    file &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; msoffcrypto&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;OfficeFile(f)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;加密类型: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;file&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;file_type&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;密钥大小: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;file&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;keyTypes&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 或者使用命令行：&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# msoffcrypto-tool -t encrypted.xlsx&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;office-的两种加密别搞混了&#34;&gt;Office 的两种「加密」：别搞混了&lt;/h2&gt;&#xA;&lt;p&gt;很多用户混淆了 Office 的两种保护机制：&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
