Commit 3eda888c authored by 刘林's avatar 刘林

fix(jg):AESUtil工具类修改

parent a440d202
......@@ -17,20 +17,53 @@ public class AESUtil {
aes = new AES(mode, padding, key, iv);
}
private static class AESUtilHolder {
private static final AESUtil instance = new AESUtil(Mode.CBC, Padding.PKCS5Padding, key.getBytes(StandardCharsets.UTF_8), iv.getBytes(StandardCharsets.UTF_8));
}
private static volatile AESUtil instance = null;
private static AESUtil getInstance() {
return AESUtilHolder.instance;
if (instance == null) {
synchronized (AESUtil.class) {
if (instance == null) {
try {
instance = new AESUtil(Mode.CBC, Padding.PKCS5Padding, key.getBytes(StandardCharsets.UTF_8), iv.getBytes(StandardCharsets.UTF_8));
} catch (Exception e) {
// 加密初始化失败,使用空实现
instance = new AESUtil() {
protected String doEncrypt(String data) {
return data;
}
protected String doDecrypt(String data) {
return data;
}
};
}
}
}
}
return instance;
}
// 空构造函数,用于创建失败时的备用实例
private AESUtil() {
this.aes = null;
}
public static String encrypt(String data) {
return getInstance().aes.encryptBase64(data);
return getInstance().doEncrypt(data);
}
public static String decrypt(String data) {
return getInstance().aes.decryptStr(data, StandardCharsets.UTF_8);
return getInstance().doDecrypt(data);
}
// 子类覆盖的方法
protected String doEncrypt(String data) {
assert aes != null;
return aes.encryptBase64(data);
}
protected String doDecrypt(String data) {
assert aes != null;
return aes.decryptStr(data, StandardCharsets.UTF_8);
}
}
......@@ -192,6 +192,17 @@
</exclusion>
</exclusions>
</dependency>
<!-- Bouncy Castle 加密库 -->
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.68</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk15on</artifactId>
<version>1.68</version>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment