public class AESUtil {
/**
* AES加密
*
*/
public static String encrypt(String keyStr, String plainText) {
try {
Key key = generateKey(keyStr);
Cipher cipher = Cipher.getInstance(AES_TYPE);
cipher.init(Cipher.ENCRYPT_MODE, key);
byte[] encrypt = cipher.doFinal(plainText.getBytes());
return new String(Base64.encodeBase64(encrypt));
} catch (Exception e) {
log.error("AES encrypt error: {}", e.getMessage());
e.printStackTrace();
return null;
}
}
private static Key generateKey(String key) {
return new SecretKeySpec(key.getBytes(), "AES");
}
/**
* AES解密
*/
public static String decrypt(String keyStr, String encryptData) {
try {
Key key = generateKey(keyStr);
Cipher cipher = Cipher.getInstance(AES_TYPE);
aes加解密
最新推荐文章于 2024-03-12 10:48:46 发布
AES加解密过程中,密钥长度需为128位、192位或256位,对应16、24、32字节。若输入密钥长度不符,通常使用空格填充。在线工具允许不足位数的密码加密,但可能在代码执行时引发错误,需要确保代码中密钥按此规则补全。
摘要由CSDN通过智能技术生成