-
大小: 4KB文件類型: .java金幣: 1下載: 0 次發(fā)布日期: 2021-05-10
- 語言: Java
- 標(biāo)簽: DES加解密??DES??EBC??ZEROBYTEPADD??
資源簡(jiǎn)介
des加解密,DES / EBC / ZEROBYTEPADDING,測(cè)試沒有問題
代碼片段和文件信息
package?com.demo;
/?**??
*?@軟件著作權(quán):
*?@項(xiàng)目名稱:
*?@作者:??
*?@復(fù)核人:
*?@時(shí)間???
*?/?
import?java.security.Key;?
import?java.security.SecureRandom;?
import?java.security.spec.AlgorithmParameterSpec;?
import?java.util.Locale;?
import?javax.crypto.Cipher;?
import?javax.crypto.SecretKeyFactory;?
import?javax.crypto.spec.DESKeySpec;?
import?javax.crypto.spec.IvParameterSpec;?
/?**?
?*?@Description:DES加解密
?*?/?
public?class?DesCryptTool?{?
public?static?void?main(String?args?[])throws?Exception?{?
DesCryptTool?CryptTool?=?new?DesCryptTool();?
String?key?=?CryptTool.createkey(“ASDFGHJK”);?
String?data?=“k56jklasdfsdf”;
//System.out.println(“源數(shù)據(jù):”?+數(shù)據(jù));?
String?data1?=?CryptTool.desEncrypt(data,key);?
System.out.println(“加密后:”+?data1);?
String?data2?=?CryptTool.desDecrypt(data1,key);?
System.out.println(“解密后:”+?data2);?
}?
/?**?
*?
@throws?Exception?*?@Description:DES加密??
*?@param?datasource??
*?@param?srckey??
*?@return?String返回類型
*?/?
public?String?desEncrypt(String?datasource,Key?key)throws?Exception?{?
try?{?
//獲取隨機(jī)數(shù)據(jù)源
SecureRandom?secureRandom?=?new?SecureRandom();?
//?Cipher對(duì)象實(shí)際完成加密操作
Cipher?cipher?=?Cipher.getInstance(“DES?/?EBC?/?ZEROBYTEPADDING”);?
IvParameterSpec?iv?=?new?IvParameterSpec(“12345678”.getBytes());
AlgorithmParameterSpec?paramSpec?=?iv;?
//秘密用
初始化密碼對(duì)象cipher.init(Cipher.ENCRYPT_MODE,鍵,paramSpec中);?
//數(shù)據(jù)加密
byte?[]?bytes?=?cipher.doFinal(datasource.getBytes());?
return?byte2hex(bytes);?
}?catch(Exception?e){?
throw?new?Exception(‘錯(cuò)誤碼‘,“DES加密錯(cuò)誤”,e);?
}?
}?
/?**?
*?@描述:DES解密??
*?@參數(shù)數(shù)據(jù)源
*?@參數(shù)srckey??
*?@throws異常??
*?@返回字節(jié)[]返回類型
*?/?
public?static?String?desDecrypt(String?datasource,Key?key)throw?Exception{?
byte[]?cipherByte?=?null;?
//獲取隨機(jī)數(shù)據(jù)源
//?SecureRandom?secureR
評(píng)論
共有 條評(píng)論