C# 读/写Excel 2007受密码保护的文档

C# 读/写Excel 2007受密码保护的文档,c#,excel,encryption,ms-office,password-protection,C#,Excel,Encryption,Ms Office,Password Protection,Office 2007使用什么方法进行加密(从Office菜单中选择加密并设置密码时) 我的C#应用程序需要创建和读取加密的Excel 2007文件(.xlsx)。重要的是,这些文件可以从Excel中访问,所以我必须使用Microsoft的加密方法,不能使用我自己的加密方法 普通的Excel2007文件是一个ZIP压缩文件,我正在使用访问它,它内部使用*System.Io.Packaging.Package*(是.NET3.0的一部分) 但是,Office中的加密不是标准的ZIP加密。Packa

Office 2007使用什么方法进行加密(从Office菜单中选择加密并设置密码时)

我的C#应用程序需要创建和读取加密的Excel 2007文件(.xlsx)。重要的是,这些文件可以从Excel中访问,所以我必须使用Microsoft的加密方法,不能使用我自己的加密方法

普通的Excel2007文件是一个ZIP压缩文件,我正在使用访问它,它内部使用*System.Io.Packaging.Package*(是.NET3.0的一部分)


但是,Office中的加密不是标准的ZIP加密。Package类似乎不支持加密,并报告一个已损坏的文件。7Zip打开文件(不提供密码)并显示其中的一些二进制文件

Office2007使用OLE文档(与二进制Office文档使用的容器格式相同)存储加密文档


应该包含所用数据结构和算法的规范。

基于几个开放源代码的部分,我创建了一个包装器,以便轻松访问Office 2007加密文件


这是基于用于OOXML加密/解密的

JFYI:我们的SecureBackbox产品提供了许多其他功能。

谢谢。这是一个相当长的规范。我仍然希望有一个黑匣子:)嗯,有一个黑匣子可以用来实现办公自动化。但我不知道有哪一个第三方库可以处理加密。从那以后你用过它吗?它没有很好的文档记录,所以我不知道何时以及如何使用它?