加密
public static String jdkAESEncode(String str) {
try {
//生成key
KeyGenerator keyGenerator = KeyGenerator.getInstance("AES");
// keyGenerator.init(128,new SecureRandom(password.getBytes()));
SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG");
secureRandom.setSeed(password.getBytes());
keyGenerator.init(128, secureRandom);
//生成密钥
SecretKey secretKey = keyGenerator.generateKey();
byte[] bytes = secretKey.getEncoded();
//key转换
Key key = new SecretKeySpec(bytes, "AES");
//加密
Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
cipher.init(Cipher.ENCRYPT_MODE, key);
byte[] result = cipher.doFinal(str.getBytes());
String string = Base64.encode(result);
return string;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
解密
public static String jdkAESDecode(String str) {
try {
//生成key
KeyGenerator keyGenerator = KeyGenerator.getInstance("AES");
// keyGenerator.init(128,new SecureRandom(password.getBytes()));
SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG");
secureRandom.setSeed(password.getBytes());
keyGenerator.init(128, secureRandom);
//生成密钥
SecretKey secretKey = keyGenerator.generateKey();
byte[] bytes = secretKey.getEncoded();
//key转换
Key key = new SecretKeySpec(bytes, "AES");
//解密
Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
cipher.init(Cipher.DECRYPT_MODE, key);
byte[] bytesContent = Base64.decode(str);
byte[] result = cipher.doFinal(bytesContent);
return new String(result);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}