依赖
<!-- AES算法 -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.7.13</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15to18</artifactId>
<version>1.68</version>
</dependency>
import cn.hutool.crypto.symmetric.AES;
public class SecurityUtils {
/**
* 加密
* @param data
* @return
*/
public static String encryption(String data){
AES aes = new AES("CBC", "PKCS7Padding",
// 密钥,不可更改 (16位)
"GzcccPCall012345".getBytes(),
// iv加盐
"GzcccCallDYgjCE0".getBytes());
// 加密为16进制表示
String encryptHex = aes.encryptHex(data);
return encryptHex;
}
/**
* 解密
* @param data
* @return
*/
public static String decryption(String data){
AES aes = new AES("CBC", "PKCS7Padding",
// 密钥,不可更改 (16位)
"GzcccPCall012345".getBytes(),
// iv加盐
"GzcccCallDYgjCE0".getBytes());
// 加密为16进制表示
String decryptStr = aes.decryptStr(data);
return decryptStr;
}
}
测试
public static void main(String[] args) {
String encryption = encryption("oSE7x4q0Q-TXfGFESvdSoT9wqhq0");
// 加密: 7e6ac9def677931c7b6e16b0fa015ae0111d81ac915a4bc08ed333e7011a75c0
System.out.println("加密: "+encryption);
String decryption = decryption(encryption);
// 解密: oSE7x4q0Q-TXfGFESvdSoT9wqhq0
System.out.println("解密: "+decryption);
}