Lua調用C++認證加密解密檔案函數實現是本文要介紹的內容,最近研究的成功終於有了點結果,暫時大體上實現了用C++實現用認證加密解密檔案。主要是使用到window的API Cryptography裡面提供的方法實現認證的加密解密等操作。
認證主要是尋找Window的認證庫(把認證檔案匯入到IE中就可以了),我這裡是使用CertOpenStore函數開啟MY認證庫(這個MY可以是別的值,具體看你的需求,詳細可以在MSDN中找到這個方法),然後使用CertFindCertificateInStore函數尋找在MY認證庫中認證(這個方法有個參數是需要指定使用的認證名,參數名:pvFindPara),如果在MY認證庫中找到指定的認證就可以往下執行加密解密等操作了,這裡不多說,具體的看後面的代碼。具體環境配置可以看我的上一篇部落格。
這裡還需要配置一個地方,就是設定Peoject的編碼.
具體配置:右鍵
- Project->property->Configuration Properties->General->Project Defaults->Character Set
這裡選擇Use Unicode Character Set,設定Project為unicode的編碼.
具體的代碼可以查看附件中的源碼,裡面有注釋!
樣本環境:Visual C++ 2008 Express Edition + Lua5.1 + SciTE(安裝Lua內建)
附件介紹(使用Visual C++ 2008開啟):
1、在附件中有2個Project,分別是:unicode 和 crypto.
2、運行本例子需要將unicode和crypto兩個Project都Build。
3、然後在當前Project下的Debug目錄下分別把unicode.dll和crypto.dll兩個檔案copy到lua檔案同級。
4、以上完成後可以用SciTE開啟附件中Lua檔案夾下 .lua 檔案,修改認證名。不知道認證名可以開啟IE->工具->Internet選項->內容->認證->個人(只能是個人,因為在程式中寫死了L"MY"),然後雙擊你要使用的認證,開啟對話方塊後就可以看到"頒發給",或者去詳細資料->主題,下面的CN就是認證名。
5、運行lua
如果你認證庫中有認證,認證名正確的話就可以看到加密和解密的檔案。
小結:解析Lua調用C++認證加密解密檔案函數實現的內容介紹完了,希望通過本文的學習能對你有所協助!