2

我想打开加密的 OOXML 文件,这些文件作为流存储在复合 OLE 文件中。Microsoft 有一个用于 OOXML 的 API(OOXML Format SDK 2.0,但它似乎缺乏一种操作加密 OOXML 文档的方法。因此,这分为两个问题。

  • 如何在 C# 中打开复合 OLE 文档?我发现了这个非常相似的问题,(阅读 C# 中的复合文档),但我希望可能有一种我错过的更清洁、更通用的方法。

  • 是否有一种高级方法来解密EncryptedPackageOLE 文档中的流?我发现的两个最佳参考是Decrypting Office DocumentsMS-OFFCRYPTO Examples。“解密 Office 文档”似乎解密成功,但它依赖外部 DLL ( Lyquidity.OleStorage.dll ) 来打开 OLE 文档并且对我不起作用。“MS-OFFCRYPTO 示例”在 C# 中有一个示例来解密流,但使用 C++ 示例来获取流。这两个参考看起来都有效,但是否有更高级别的 API 可以做同样的事情?

4

1 回答 1

1

简短的回答:不,没有更高级别的 API。长答案:MS-OFFCRYPTO 示例是如何解密它的最佳示例,但您必须使用库(或自己制作)与 OLE 文档进行交互。有许多用于OLE 结构化存储的库,例如OpenMCDFGemBox Software的库

于 2010-12-23T16:00:39.133 回答