解析Lua調用C++認證加密解密檔案函數實現

來源:互聯網
上載者:User

Lua調用C++認證加密解密檔案函數實現是本文要介紹的內容,最近研究的成功終於有了點結果,暫時大體上實現了用C++實現用認證加密解密檔案。主要是使用到window的API Cryptography裡面提供的方法實現認證的加密解密等操作。

認證主要是尋找Window的認證庫(把認證檔案匯入到IE中就可以了),我這裡是使用CertOpenStore函數開啟MY認證庫(這個MY可以是別的值,具體看你的需求,詳細可以在MSDN中找到這個方法),然後使用CertFindCertificateInStore函數尋找在MY認證庫中認證(這個方法有個參數是需要指定使用的認證名,參數名:pvFindPara),如果在MY認證庫中找到指定的認證就可以往下執行加密解密等操作了,這裡不多說,具體的看後面的代碼。具體環境配置可以看我的上一篇部落格。

這裡還需要配置一個地方,就是設定Peoject的編碼.

具體配置:右鍵

 
  1. 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++認證加密解密檔案函數實現的內容介紹完了,希望通過本文的學習能對你有所協助!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.