我试图了解如何捆绑加密(“密码保护”)Office 2007 文档(特别是 Excel 文档)。我正在试验一个已知的、受密码保护的电子表格。
当我解压缩 XLSX 文件时,我遇到三个条目:
- [6]数据空间(目录)
- 加密信息(文件)
- 加密包(文件)
EncryptedPackage 文件是如何加密的(哪个密码、哪个密钥派生函数等...)?
我曾尝试参考文档,但没有取得多大成功。
我试图了解如何捆绑加密(“密码保护”)Office 2007 文档(特别是 Excel 文档)。我正在试验一个已知的、受密码保护的电子表格。
当我解压缩 XLSX 文件时,我遇到三个条目:
EncryptedPackage 文件是如何加密的(哪个密码、哪个密钥派生函数等...)?
我曾尝试参考文档,但没有取得多大成功。
文件加密不是 OpenXML ECMA/ISO 规范的一部分。最重要的是,它是特定于供应商的标准。规格请查看
加密的 OpenXML 文档不存储为 OPC zip 包,而是作为复合 OLE 文档中的加密 OPC 包存储。
我创建了一个OoXmlCrypto 流包装器,它连接了几个开源的点点滴滴,以便轻松访问 Office 2007 加密文件。
这个答案可能会有所帮助。
结果 [6]DataSpaces 被忽略了,但使用了其他两个部分。加密的 XLSX 文件并没有真正压缩,它是一个 OLE 复合容器。如果您取出零件并使用 7zip 压缩它们,Excel 不会打开它。