import it.sauronsoftware.base64.Base64;
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
/** DES 加密的一种,加密秘钥长度为16位.
*/
public class AESC {
private static final String ALGORITHM = "AES";
/**
* 16位的key.
*/
private static final String KEY = "jsswlhfax_123456";
/**
* 加密文本(UTF-8编码)
* @param text 待加密的字符串
* @return 加密后的字符串
*/
public static String encrypt(String text) {
try {
Cipher c = Cipher.getInstance(ALGORITHM);
c.init(Cipher.ENCRYPT_MODE, new SecretKeySpec(KEY.getBytes(), ALGORITHM));
byte[] data = c.doFinal(text.getBytes("UTF-8"));
return new String(Base64.encode(data));
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
/**
* 解密文本(UTF-8编码)
* @param text 待解秘的字符串
* @return 解密后的字符串
*/
public static String decrypt(String text) {
try {
Cipher c = Cipher.getInstance(ALGORITHM);
c.init(Cipher.DECRYPT_MODE, new SecretKeySpec(KEY.getBytes(), ALGORITHM));
byte[] data = c.doFinal(Base64.decode(text.getBytes()));
return new String(data, "UTF-8");
} catch (Exception e) {
return null;
}
}
public static void main(String aggs[]) {
long start = System.currentTimeMillis();
for(int i=0;i<100;i++){
System.out.println(encrypt("中国"+i));
encrypt("中国"+i);
}
System.out.println("花费时间:"+(System.currentTimeMillis()-start));
}
}