Office 2007使用什么方法进行加密(从Office菜单中选择加密和设置密码时)?
我的C#应用程序需要创建和读取加密的Excel 2007文件(.xlsx)。重要的是这些文件仍然可以从Excel访问,因此我必须使用Microsoft的加密方法,不能自己酿造。
普通Excel 2007文件是ZIP压缩文件,我使用ExcelPackage访问它,内部使用* System.Io.Packaging.Package *(.net 3.0的一部分)。
但是,Office中的加密不标准ZIP加密。 Package类似乎不支持加密,并报告损坏的文件。 7Zip打开文件(没有提供密码)并在里面显示一些二进制文件。
答案 0 :(得分:3)
Office 2007使用OLE文档(与二进制Office文档使用的容器格式相同)来存储加密文档。
[MS-OFFCRYPTO]: Office Document Cryptography Structure Specification应包含所用数据结构和算法的规范。
答案 1 :(得分:2)
基于几个开源的部分,我创建了一个OoXmlCrypto stream包装器,可以轻松访问Office 2007加密文件。
这是基于blog post和source code进行OOXML加密/解密。
答案 2 :(得分:1)