



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
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ù)的應(yīng)用程序不需要設(shè)置到 中。對于 WEB應(yīng)用,不需要把這些包加到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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年語文考試題目設(shè)計試題及答案
- 2025年新型電子時間繼電器項目建議書
- 2025年小學一年級語文考題及答案概覽
- 2024年汽車維修工具使用規(guī)范試題及答案
- 2024年食品質(zhì)檢員考試常見考題試題及答案
- 漢語言文學視域下的社會問題討論試題及答案
- 汽車美容行業(yè)的自主品牌建設(shè)試題及答案
- 2024年美容師個人網(wǎng)站與線上推廣試題及答案
- 湖北省云學聯(lián)盟2024-2025學年高一下學期3月月考生物試題(原卷版)
- 湖北省部分高中聯(lián)考協(xié)作體2023-2024學年高二下學期期中考試化學試卷(原卷版)
- 2024年重慶兩江新區(qū)某國有企業(yè)招聘筆試真題
- 離婚協(xié)議民政局貴州安順(2025年版)
- 心臟驟停后高質(zhì)量目標溫度管理專家共識2024
- 高校講師個人學術(shù)發(fā)展計劃
- 睪丸切除術(shù)課件
- 2025 年陜西省初中學業(yè)水平考試仿真摸底卷英語試卷(含解析無聽力部分)
- 職等職級設(shè)計理論與實踐
- 中醫(yī)藥生物信息學知到課后答案智慧樹章節(jié)測試答案2025年春浙江中醫(yī)藥大學
- 海姆立克急救技術(shù)操作流程及評分標準
- deepseek在科研機構(gòu)知識管理中的應(yīng)用實例
- 污水處理設(shè)施運維服務(wù)投標方案(技術(shù)標)
評論
0/150
提交評論