在日常學(xué)習(xí)、工作或生活中,大家總少不了接觸作文或者范文吧,通過(guò)文章可以把我們那些零零散散的思想,聚集在一塊。寫(xiě)范文的時(shí)候需要注意什么呢?有哪些格式需要注意呢?下面是小編幫大家整理的優(yōu)質(zhì)范文,僅供參考,大家一起來(lái)看看吧。
java 加密解密篇一
java很多時(shí)候要對(duì)秘要進(jìn)行持久化加密,此時(shí)的加密采用md5。采用對(duì)稱加密的時(shí)候就采用des方法了,那么java證書(shū)的加密與解密代碼是什么呢?下面跟yjbys小編一起來(lái)學(xué)習(xí)一下吧!
加密:t(password)
解密:t(password)
[java]
package ;
import ption;
import ;
import erator;
import key;
import 64;
public class cryptutils {
private static string algorithm = "des";
private static byte[] default_key=new byte[] {-53, 122, -42, -88, -110, -123, -60, -74};
private static string value_encoding="utf-8";
/**
* 生成密鑰
*
* @return byte[] 返回生成的密鑰
* @throws exception
* 扔出異常.
*/
public static byte[] getsecretkey() throws exception {
keygenerator keygen = tance(algorithm);
secretkey deskey = tekey();
// if (debug ) n ("生成密鑰:"+byte2hex (oded
// ()));
return oded();
}
/**
* 將指定的數(shù)據(jù)根據(jù)提供的密鑰進(jìn)行加密
*
* @param input
* 需要加密的數(shù)據(jù)
* @param key
* 密鑰
* @return byte[] 加密后的數(shù)據(jù)
* @throws exception
*/
public static byte[] encryptdata(byte[] input, byte[] key) throws exception {
secretkey deskey = new keyspec(key, algorithm);
// if (debug )
// {
// n ("加密前的二進(jìn)串:"+byte2hex (input ));
// n ("加密前的字符串:"+new string (input ));
//
// }
cipher c1 = tance(algorithm);
(t_mode, deskey);
byte[] cipherbyte = l(input);
// if (debug ) n ("加密后的二進(jìn)串:"+byte2hex (cipherbyte ));
return cipherbyte;
}
public static byte[] encryptdata(byte[] input) throws exception {
return encryptdata(input, default_key);
}
/**
* 將給定的已加密的數(shù)據(jù)通過(guò)指定的密鑰進(jìn)行解密
*
* @param input
* 待解密的數(shù)據(jù)
* @param key
* 密鑰
* @return byte[] 解密后的數(shù)據(jù)
* @throws exception
*/
public static byte[] decryptdata(byte[] input, byte[] key) throws exception {
secretkey deskey = new keyspec(key, algorithm);
// if (debug ) n ("解密前的信息:"+byte2hex (input ));
cipher c1 = tance(algorithm);
(t_mode, deskey);
byte[] clearbyte = l(input);
// if (debug )
// {
// n ("解密后的二進(jìn)串:"+byte2hex (clearbyte ));
// n ("解密后的字符串:"+(new string (clearbyte )));
//
// }
return clearbyte;
}
public static byte[] decryptdata(byte[] input) throws exception {
return decryptdata(input, default_key);
}
/**
* 字節(jié)碼轉(zhuǎn)換成16進(jìn)制字符串
*
* @param byte[] b 輸入要轉(zhuǎn)換的字節(jié)碼
* @return string 返回轉(zhuǎn)換后的16進(jìn)制字符串
*/
public static string byte2hex(byte[] bytes) {
stringbuilder hs = new stringbuilder();
for(byte b : bytes)
(("%1$02x", b));
return ng();
}
public static byte[] hex2byte(string content) {
int l=()>>1;
byte[] result=new byte[l];
for(int i=0;i
int j=i<<1;
string s=ing(j, j+2);
result[i]=f(s, 16).bytevalue();
}
return result;
}
/**
* 將字節(jié)數(shù)組轉(zhuǎn)換為base64編碼字符串
* @param buffer
* @return
*/
public static string bytestobase64(byte[] buffer) {
【本文地址:http://aiweibaby.com/zuowen/2754998.html】