從此刻開始,我已封閉!概不接客!
像風一樣的男人,像風一樣的性格,無拘無束,不拘一格。那麼問題來了,當風遇到沙,不一定你是風兒,我是沙兒的纏纏綿綿,。也許是漫天黃沙,飛粒走石。如果我們期望擒住這漫天的塵埃,必須有強有力的手臂!那麼曬網、撒網、收網!讓他老實的封閉起來吧,永遠相依偎,阿拉!
讀在最前面:
1、Excel文件加密實現,本文以 Microsoft Office 2007 為案例進行說明。
2、Microsoft Office 2007 Office 基於 Open XML file(又稱 OOXML or OpenXML or MOX ,是一種以XML為基礎並以ZIP格式壓縮的電子文件規范,支持文件、表格、備忘錄、幻燈片等文件格式)
3、本文可實現C端Excel加密、S端Excel加密(不需要安裝任何服務器組件,告別一切煩惱)。
4、本文加密方式可實現對.docx, .xlsx, .pptx等文件類型的加密。
那麼,讓我們上酸菜!
1、下載我們的依賴組件
加密組件下載
2、加密!開工!Over!
項目中引入NPOI.POIFS.dll,NPOI.Util.dll,OfficeOpenXmlCrypto.dll ,細節實現代碼如下:
using (OfficeCryptoStream stream = OfficeCryptoStream.Open(@"location")) { stream.Password = "password"; stream.Save(); }
備注:
1、代碼說明:location:加密文件路徑,password:加密密碼
2、加密原理:基於AES128 ,加密秘鑰生成方式:SHA1,具體加密技術細節參見MS-OFFCRYPTO
3、其他加密技術棧: EPPlus class library,OpenXml 2.0 SDK 參見爆炸網類似加密qa
4、如果在iis上部署,需要啟用網站對應應用程序池的32位模式。
5、參考鏈接(全是牆,自備VPN):
(1)、http://www.lyquidity.com/devblog/?p=35
(2)、https://msdn.microsoft.com/en-us/library/cc313071.aspx
(3)、https://en.wikipedia.org/wiki/Office_Open_XML
(4)、https://code.google.com/archive/p/ooxmlcrypto/
by:海豚灣-豐