RSA,AES,SHA1,RSA-SHA1 Sign加密算法C++/Java封裝

          /Files/hijackwust/071229200308.rar

          轉(zhuǎn)自:http://blogold.chinaunix.net/u1/52224/showart.php?id=453114

          以前做項目的時候需要C++和Java之間進行數(shù)據(jù)通信,要解決相互信任和數(shù)據(jù)安全的問題,使用了RSA-SHA1簽名做證書,通信開始時傳遞證書然后使用RSA加密AES密鑰,以后通信使用AES加密進行數(shù)據(jù)傳輸,所以封裝了RSA/PKCS #1,  AES/CBC/PKCS#1,  SHA1,  RSA-SHA1 Signature,另外為了方便數(shù)據(jù)轉(zhuǎn)換,封裝了Base16和Base64算法。
           
          C++部分使用了Wei Dai整理的開源C++加密工具cryptopp(www.cryptopp.com),cryptopp是一個非常優(yōu)秀和完善的開源C++加密工具,將C++技術(shù)和設(shè)計模式使用到了淋漓盡致的地步,不過對于初學(xué)者來說比較難以上手,特別是需要將項目交給初學(xué)者來實現(xiàn)的時候,所以當時在cryptopp的基礎(chǔ)上做了一些封裝,并且將RSA,AES,SHA1,RSA-SHA1 Sign分離成獨立的類,并且添加了Base16和Base64編碼算法,使用這幾個加密算法,幾乎可以解決一般項目對通信安全的需要。
           
          Java部分使用了JDK自帶的SunJCE加密框架,一般網(wǎng)上可以找到的Java加密解密都是使用SunJCE框架,還有一個比較著名的Java開源加密工具是bouncycastle(http://www.bouncycastle.org/),因為SunJCE是JDK自帶的,所以使用比較方便,相對于cryptopp,SunJCE要容易上手得多,幾乎不需要再做封裝,不過為了跟C++封裝統(tǒng)一,也做了簡單的封裝,保持C++接口和Java接口相近。
           
          C++封裝在Visual Studio 2003下測試通過,Java封裝在jdk1.5.0_14下測試通過。
          更詳細的信息,解壓縮后參考/doc/crypto.doc和源代碼.
           
           
          文件: crypto.2007.12.29.20.01.apacheL.rar
          大小:

          224KB

          下載: 下載

          sha1: 99C1BF0396B35518DB34C1566462B3AE786744CD

          sha256: F5325064D1D5E25A45F1EE19E126C847E181EC7720472785429E8331252830CF

          sha512: BCF60EB80253C6C8D5F813A4E04FF1A84C0CF4FE64BD9D591EE592D39267EF5F7A1611C922856D960515E58087A67D6994643178ABA5C52470D4C624E27591D9


          posted on 2011-07-20 09:22 hijackwust 閱讀(3090) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          <2011年7月>
          262728293012
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿(6)

          隨筆檔案(57)

          友情鏈接

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 昌乐县| 古蔺县| 镇雄县| 平远县| 轮台县| 台前县| 鲁山县| 府谷县| 宁阳县| 水城县| 元江| 隆尧县| 获嘉县| 东兴市| 澄江县| 玉溪市| 桂平市| 团风县| 天台县| 襄汾县| 昌都县| 邓州市| 顺昌县| 彩票| 忻城县| 德兴市| 阿勒泰市| 南岸区| 浦城县| 大方县| 江源县| 邵阳县| 离岛区| 通河县| 玉溪市| 固安县| 阿拉善左旗| 南部县| 双辽市| 如东县| 鹤壁市|