2

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

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

普通 Excel 2007 文件是一个 ZIP 压缩文件,我使用ExcelPackage访问它,它在内部使用 * System.Io.Packaging.Package* (.net 3.0 的一部分)。

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

4

3 回答 3

3

Office 2007 使用 OLE 文档(用于二进制 Office 文档的相同容器格式)来存储加密文档。

[MS-OFFCRYPTO]:Office 文档加密结构规范应包含使用的数据结构和算法的规范。

于 2009-10-01T09:21:02.233 回答
2

基于几个开源的点点滴滴,我创建了一个OoXmlCrypto 流包装器来轻松访问 Office 2007 加密文件。

这是基于一篇博客文章,其中包含执行 OOXML 加密/解密的源代码。

于 2009-10-01T19:03:40.160 回答
1

JFYI:我们的 SecureBlackbox 产品提供用于加密和解密 OOXML 文档的组件以及许多其他功能。

于 2010-07-24T21:50:20.790 回答