public class AESutil2
{
public static String encrypt(String content, String secureKey)
{
try
{
if ((StringUtils.isEmpty(content)) ||
(StringUtils.isEmpty(secureKey))) {
return null;
}
KeyGenerator kgen = KeyGenerator.getInstance("AES");
SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG");
secureRandom.setSeed(secureKey.getBytes());
kgen.init(128, secureRandom);
SecretKey secretKey = kgen.generateKey();
byte[] enCodeFormat = secretKey.getEncoded();
SecretKeySpec key = new SecretKeySpec(enCodeFormat, "AES");
Cipher cipher = Cipher.getInstance("AES");
byte[] byteContent = content.getBytes("utf-8");
cipher.init(1, key);
byte[] result = cipher.doFinal(byteContent);
return encodeBASE64(result);
}
catch (Exception e) {
}
return null;
}
public static String decrypt(String content, String secureKey)
{
try
{
if ((StringUtils.isEmpty(content)) || (StringUtils.isEmpty(secureKey))) {
return null;
}
KeyGenerator kgen = KeyGenerator.getInstance("AES");
SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG");
secureRandom.setSeed(secureKey.getBytes());
kgen.init(128, secureRandom);
SecretKey secretKey = kgen.generateKey();
byte[] enCodeFormat = secretKey.getEncoded();
SecretKeySpec key = new SecretKeySpec(enCodeFormat, "AES");
Cipher cipher = Cipher.getInstance("AES");
cipher.init(2, key);
byte[] base64Dec = Base64.decode(content);
byte[] result = cipher.doFinal(base64Dec);
return new String(result);
}
catch (Exception e)
{
}
return null;
}
public static String encodeBASE64(byte[] content)
throws Exception
{
if ((content == null) || (content.length == 0)) {
return null;
}
try
{
return Base64.encode(content);
}
catch (Exception e)
{
}
return null;
}
public static void main(String[] args) {
String content = "5f3a87d591fa51720261e0b7e4e14c33";
String password = "123456a";
//加密
System.out.println("加密前:" + content);
String encryptResultStr = encrypt(content, password);
System.out.println("加密后:" + encryptResultStr);
//解密
String decryptFrom = decrypt(encryptResultStr,password);
System.out.println("解密后:" + decryptFrom);
}
}