本文實(shí)例講述了java實(shí)現(xiàn)的DES加密算法。分享給大家供大家參考,具體如下:
目前成都創(chuàng)新互聯(lián)公司已為數(shù)千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)絡(luò)空間、綿陽服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、資興網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。一、DES加密算法介紹
1、要求密鑰必須是8個(gè)字節(jié),即64bit長(zhǎng)度
2、因?yàn)槊荑€是byte[8] , 代表字符串也可以是非可見的字節(jié),可以與Base64編碼算法一起使用
3、加密、解密都需要通過字節(jié)數(shù)組作為數(shù)據(jù)和密鑰進(jìn)行處理
二、對(duì)稱加密
DES加密算法屬于對(duì)稱加密。
即利用指定的密鑰,按照密碼的長(zhǎng)度截取數(shù)據(jù),分成數(shù)據(jù)塊,和密鑰進(jìn)行復(fù)雜的移位、算數(shù)運(yùn)算或者數(shù)據(jù)處理等操作,形成只有特定的密碼才能夠解開的數(shù)據(jù)。 加密與解密用的是同一個(gè)密鑰
三、相關(guān)類
1、Cipher:
Java/Android要使用任何加密,都需要使用Cipher這個(gè)類
使用Cipher進(jìn)行加密,解密處理,需要?jiǎng)?chuàng)建實(shí)例對(duì)象并初始化。采用工廠模式創(chuàng)建對(duì)象
Cipher cipher = Cipher.getInstance("算法名稱");
cipher.init(加密/解密模式,Key秒);
2、Key:
Key類是Java加密系統(tǒng)所有密碼的父類
3、SecretKeyFactory:
對(duì)于DES加密解密,使用SecretKeyFactory生成,生成時(shí)需指定DESKeySpec
四、加密代碼步驟
1. 獲取Cipher對(duì)象,設(shè)置加密算法
Cipher cipher = Cipher.getInstance("DES");