代码之家  ›  专栏  ›  技术社区  ›  Joe

如何在C中打开加密的OOXML文档?

  •  2
  • Joe  · 技术社区  · 16 年前

    我想打开加密的ooxml文件,这些文件作为流存储在复合的ole文件中。微软有一个面向ooxml的API,( OOXML Format SDK 2.0 但它似乎缺少一种操作加密的OOXML文档的方法。所以,这分为两个问题。

    • 如何在C_中打开复合OLE文档?我发现这个问题非常相似,( reading compound documents in C# 但我希望有一种更清洁、更通用的方法来做我错过的事情。

    • 有高级解密方法吗 EncryptedPackage 是否在OLE文档中传输?我找到的两个最好的证明人是 Decrypting Office Documents MS-OFFCRYPTO Examples . "“解密Office文档”似乎可以成功解密,但它依赖于外部dll( lyquidity.olestorage.dll文件 )无法打开OLE文档。”MS-OffCuto示例“在C中有一个例子来解密流,但是使用C++示例来获得流。这两个引用看起来都可以工作,但是是否有更高级别的API可以做同样的事情?

    1 回复  |  直到 15 年前
        1
  •  1
  •   David B Heise    15 年前

    简短回答:不,没有更高级别的API。 长话短说: MS-OFFCRYPTO Examples 是如何解密它的最佳示例,但您必须使用库(或自己创建库)与OLE文档进行交互。有很多图书馆 OLE Structured Storage OpenMCDF 以及图书馆 GemBox Software