我试图了解如何捆绑加密(“密码保护”)Office 2007文档(特别是Excel文档)。我正在尝试使用已知的密码保护电子表格。
当我解压缩XLSX文件时,遇到三个条目:
EncryptedPackage文件如何加密(哪个密码,哪个密钥派生函数等等?)?
我尝试引用the documentation,但我没有取得多大成功。
答案 0 :(得分:8)
文件加密不是OpenXML ECMA / ISO规范的一部分。它是特定于供应商的标准。有关规格,请查看
[MS-OFFCRYPTO]: Office Document Cryptography Structure Specification
加密的OpenXML文档不是作为OPC zip包存储,而是作为复合OLE文档中的加密OPC包存储。
答案 1 :(得分:4)
我创建了一个OoXmlCrypto stream包装器,连接了几个开源位和片段,可以轻松访问Office 2007加密文件。
此answer可能会有所帮助。
结果显示[6]忽略了DataSpaces,但使用了其他两个部分。加密的XLSX文件没有真正压缩,它是一个OLE复合容器。如果您取出部件,并使用7zip压缩它们,Excel不会打开它。