簡體   English   中英

如何在C#中打開加密的OOXML文檔?

[英]How do you open encrypted OOXML document in C#?

我想打開加密的OOXML文件,這些文件作為流存儲在復合OLE文件中。 微軟有一個面向OOXML的API( OOXML Format SDK 2.0 ,但是似乎缺乏一種處理加密的OOXML文檔的方法。因此,這分為兩個問題。

  • 如何在C#中打開復合OLE文檔? 我發現了一個非常相似的問題( 閱讀C#中的復合文檔 ),但是我希望我可能錯過了一種更干凈,更通用的方法。

  • 是否有高級方法可以解密OLE文檔中的EncryptedPackage流? 我找到的兩個最佳參考是“ 解密Office文檔”和“ MS-OFFCRYPTO示例” “解密Office文檔”似乎已成功解密,但是它依賴於外部DLL( Lyquidity.OleStorage.dll )打開OLE文檔,但對我不起作用。 “ MS-OFFCRYPTO示例”在C#中具有解密流的示例,但使用C ++示例來獲取流。 這兩個引用看起來都可以正常工作,但是有沒有做同樣事情的高級API?

簡短的回答:沒有更高級別的API。 長答案: MS-OFFCRYPTO示例是如何解密它的最佳示例,但是您必須使用一個庫(或自己創建)與OLE文檔進行交互。 有許多用於OLE結構化存儲的庫,例如OpenMCDFGemBox Software的庫

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM