java加密解密之對(duì)稱加密算法des

java加密解密之對(duì)稱加密算法des

ID:8966858

大小:30.46 KB

頁數(shù):6頁

時(shí)間:2018-04-13

java加密解密之對(duì)稱加密算法des_第1頁
java加密解密之對(duì)稱加密算法des_第2頁
java加密解密之對(duì)稱加密算法des_第3頁
java加密解密之對(duì)稱加密算法des_第4頁
java加密解密之對(duì)稱加密算法des_第5頁
資源描述:

《java加密解密之對(duì)稱加密算法des》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。

1、Java加密解密之對(duì)稱加密算法DES本文轉(zhuǎn)自網(wǎng)絡(luò)數(shù)據(jù)加密算法(DataEncryptionAlgorithm,DEA)是一種對(duì)稱加密算法,很可能是使用最廣泛的密鑰系統(tǒng),特別是在保護(hù)金融數(shù)據(jù)的安全中,最初開發(fā)的DEA是嵌入硬件中的。通常,自動(dòng)取款機(jī)(AutomatedTellerMachine,ATM)都使用DEA。它出自IBM的研究工作,IBM也曾對(duì)它擁有幾年的專利權(quán),但是在1983年已到期后,處于公有范圍中,允許在特定條件下可以免除專利使用費(fèi)而使用。1977年被美國政府正式采納。?1998年后實(shí)用化DES破譯機(jī)的出現(xiàn)徹底宣告DES算法已不具備安全性,1999年NIST頒布

2、新標(biāo)準(zhǔn),規(guī)定DES算法只能用于遺留加密系統(tǒng),但不限制使用DESede算法。當(dāng)今DES算法正是推出歷史舞臺(tái),AES算法稱為他的替代者。(詳見:?Java加密解密之對(duì)稱加密算法AES?)?加密原理DES使用一個(gè)56位的密鑰以及附加的8位奇偶校驗(yàn)位,產(chǎn)生最大64位的分組大小。這是一個(gè)迭代的分組密碼,使用稱為Feistel的技術(shù),其中將加密的文本塊分成兩半。使用子密鑰對(duì)其中一半應(yīng)用循環(huán)功能,然后將輸出與另一半進(jìn)行“異或”運(yùn)算;接著交換這兩半,這一過程會(huì)繼續(xù)下去,但最后一個(gè)循環(huán)不交換。DES使用16個(gè)循環(huán),使用異或,置換,代換,移位操作四種基本運(yùn)算。?JDK對(duì)DES算法的支持密鑰長度

3、:56位?工作模式:ECB/CBC/PCBC/CTR/CTS/CFB/CFB8toCFB128/OFB/OBF8toOFB128填充方式:Nopadding/PKCS5Padding/ISO10126Padding/?工作模式和填充方式請(qǐng)參考:?????JAVA加密解密基礎(chǔ)十六進(jìn)制工具類Hex.java,見:???javabyte數(shù)組與十六進(jìn)制字符串互轉(zhuǎn)DES加密解密的java實(shí)現(xiàn):?DESCoder.javaJava代碼??import?java.security.Key;????import?javax.crypto.Cipher;??import?javax.cryp

4、to.KeyGenerator;??import?javax.crypto.SecretKey;??import?javax.crypto.SecretKeyFactory;??import?javax.crypto.spec.DESKeySpec;????/**??*?DES?Coder
??*?secret?key?length:???56?bit,?default:????56?bit
??*?mode:????ECB/CBC/PCBC/CTR/CTS/CFB/CFB8?to?CFB128/OFB/OBF8?to?OFB128
??*?padd

5、ing:?Nopadding/PKCS5Padding/ISO10126Padding/??*?@author?Aub??*???*/??public?class?DESCoder?{????????????/**??????*?密鑰算法?????*/??????private?static?final?String?KEY_ALGORITHM?=?"DES";????????????private?static?final?String?DEFAULT_CIPHER_ALGORITHM?=?"DES/ECB/PKCS5Padding";??//??private?stat

6、ic?final?String?DEFAULT_CIPHER_ALGORITHM?=?"DES/ECB/ISO10126Padding";??????????????????/**??????*?初始化密鑰??????*???????*?@return?byte[]?密鑰???????*?@throws?Exception??????*/??????public?static?byte[]?initSecretKey()?throws?Exception{??????????//返回生成指定算法的秘密密鑰的?KeyGenerator?對(duì)象??????????KeyGener

7、ator?kg?=?KeyGenerator.getInstance(KEY_ALGORITHM);??????????//初始化此密鑰生成器,使其具有確定的密鑰大小??????????kg.init(56);??????????//生成一個(gè)密鑰??????????SecretKey??secretKey?=?kg.generateKey();??????????return?secretKey.getEncoded();??????}????????????/**??????*?轉(zhuǎn)換密鑰??????*??????

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。