下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、在java中調(diào)用sun公司提供的3DES加密解密算法時,需要使用到$JAVA_HOME/jre/lib/目錄下如下的4個 jar 包:jce.jarsecurity/US_export_policy.jarsecurity/local_policy.jarext/sunjce_provider.jarCLASSPAT環(huán)境變量Java 運行時會自動加載這些包,因此對于帶 main 函數(shù)的應用程序不需要設置到 中。對于 WEB應用,不需要把這些包加到WEB-INF/lib目錄下。以下是java中調(diào)用sun公司提供的3DES加密解密算法的樣本代碼:加密解密代碼import java.security
2、.Security;import javax.crypto.Cipher;import javax.crypto.SecretKey;import javax.crypto.spec.SecretKeySpec;/* 字符串 DESede(3DES) 加密*/public class ThreeDes /* param args在java中調(diào)用sun公司提供的3DES加密解密算法時,需要使* 用到 $JAVA_HOME/jre/lib/ 目錄下如下的 4個 jar 包:*jce.jar*security/US_export_policy.jar*security/local_policy.ja
3、r*ext/sunjce_provider.jar*/private static final String Algorithm = "DESede" / 定義加密算法 , 可用 DES,DESede,Blowfish/keybyte 為加密密鑰,長度為 24 字節(jié)/src 為被加密的數(shù)據(jù)緩沖區(qū)(源)public static byte encryptMode(byte keybyte,byte src) try / 生成密鑰SecretKey deskey = new SecretKeySpec(keybyte, Algorithm); / 加密Cipher c1 = C
4、ipher.getInstance(Algorithm); c1.init(Cipher.ENCRYPT_MODE, deskey);return c1.doFinal(src);/ 在單一方面的加密或解密 catch (java.security.NoSuchAlgorithmException e1) / TODO: handle exception e1.printStackTrace();catch(javax.crypto.NoSuchPaddingException e2) e2.printStackTrace();catch(java.lang.Exception e3)e3.p
5、rintStackTrace();return null;/keybyte 為加密密鑰,長度為 24 字節(jié)/src 為加密后的緩沖區(qū)public static byte decryptMode(byte keybyte,byte src) try / 生成密鑰SecretKey deskey = new SecretKeySpec(keybyte, Algorithm); / 解密Cipher c1 = Cipher.getInstance(Algorithm); c1.init(Cipher.DECRYPT_MODE, deskey);return c1.doFinal(src); catc
6、h (java.security.NoSuchAlgorithmException e1) / TODO: handle exception e1.printStackTrace();catch(javax.crypto.NoSuchPaddingException e2) e2.printStackTrace();catch(java.lang.Exception e3) e3.printStackTrace();return null;/ 轉(zhuǎn)換成十六進制字符串public static String byte2Hex(byte b)String hs=""String
7、stmp=""for(int n=0; n<b.length; n+)stmp = (java.lang.Integer.toHexString(bn& 0XFF); if(stmp.length()=1) hs = hs + "0" + stmp;else hs = hs + stmp;if(n<b.length-1)hs=hs+":"return hs.toUpperCase();public static void main(String args) / TODO Auto-generated method
8、stub/ 添加新安全算法 , 如果用 JCE 就要把它添加進去Security.addProvider(new vider.SunJCE();final byte keyBytes = 0x11, 0x22, 0x4F, 0x58,(byte)0x88, 0x10, 0x40, 0x38, 0x28, 0x25, 0x79, 0x51,(byte)0xCB,(byte)0xDD, 0x55, 0x66, 0x77, 0x29, 0x74,(byte)0x98, 0x30, 0x40, 0x36,(byte)0xE2; /24 字節(jié)的密鑰String szSrc = "This is a 3DES test.測試 "System.out.println(" 加密前的字符串 :" + szSrc);byte encoded = encryptMode(keyBytes,szSrc.getBytes();System.out.println(" 加密后的字符串 :"
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 戈之錚大腸癌的篩查演示教學
- 九年級歷史上冊第七單元工業(yè)革命和國際共產(chǎn)主義運動的興起綜合提優(yōu)測評卷課件新人教版
- 2025至2031年中國二嘴三嘴噴油座行業(yè)投資前景及策略咨詢研究報告
- 2024至2030年中國汽車轉(zhuǎn)向盤總成數(shù)據(jù)監(jiān)測研究報告
- 2024至2030年中國剎車淋水三路電磁閥數(shù)據(jù)監(jiān)測研究報告
- 2024年中國表面加罩型均質(zhì)機市場調(diào)查研究報告
- 2024年中國電動振動臺市場調(diào)查研究報告
- 2024年中國樓宇對講呼叫系統(tǒng)市場調(diào)查研究報告
- 2025至2031年中國齒式干式鋸片行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國氣墊干燥漿板機行業(yè)投資前景及策略咨詢研究報告
- 山東省濟南市2023-2024學年高二上學期期末考試地理試題 附答案
- 期末復習試題1(試題)-2024-2025學年二年級上冊數(shù)學北師大版
- 【MOOC】微型計算機原理與接口技術(shù)-南京郵電大學 中國大學慕課MOOC答案
- 違章建筑舉報范文
- 汽車以租代購合同完整版完整版
- 音樂制作基礎知識單選題100道及答案解析
- 2024至2030年大型儲油罐項目投資價值分析報告
- 2024幼師年終工作總結(jié)
- Unit 4 Plants around us Part A(說課稿)-2024-2025學年人教PEP版(2024)英語三年級上冊
- 2024-2030年中國有機肥料行業(yè)需求狀況與投資前景預測報告
- 2025屆江蘇省南京師大附中物理高一上期末學業(yè)質(zhì)量監(jiān)測試題含解析
評論
0/150
提交評論