From e937d0111a52e2c13c50bbc3386d20a12d125899 Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期五, 06 九月 2024 10:54:54 +0800
Subject: [PATCH] 链接类型查询模板
---
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/util/DigestUtil.java | 40 +++++++++++++++++++++++++++++++++++-----
1 files changed, 35 insertions(+), 5 deletions(-)
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/util/DigestUtil.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/util/DigestUtil.java
index 5daa93e..929ee15 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/util/DigestUtil.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/util/DigestUtil.java
@@ -1,14 +1,18 @@
package com.vci.web.util;
+import com.vci.corba.common.PLException;
+import com.vci.starter.web.exception.VciBaseException;
+import org.apache.commons.codec.binary.Hex;
import org.springframework.lang.Nullable;
import org.springframework.util.DigestUtils;
-import javax.crypto.Mac;
-import javax.crypto.SecretKey;
+import javax.crypto.*;
+import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
-import java.security.InvalidKeyException;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
+import java.security.*;
+import java.security.spec.InvalidKeySpecException;
+import java.security.spec.PKCS8EncodedKeySpec;
+import java.util.Base64;
/**
* 鍔犲瘑鐩稿叧宸ュ叿绫荤洿鎺ヤ娇鐢⊿pring util灏佽锛屽噺灏慾ar渚濊禆
@@ -327,6 +331,32 @@
}
/**
+ * aes瑙e瘑
+ * @param secretKey 绉橀挜
+ * @param encryptedData Data
+ * @return digest as a hex string
+ */
+ public static String decryptAes(String encryptedData, String secretKey) throws Exception {
+ // AES 瀵嗛挜闀垮害闇�瑕佹槸 128, 192, 鎴� 256 浣嶏紙16, 24, 鎴� 32 瀛楄妭锛�
+ byte[] keyBytes = secretKey.getBytes("UTF-8");
+ SecretKeySpec key = new SecretKeySpec(keyBytes, "AES");
+
+ // 鍒濆鍖栧悜閲� IV 涔熼渶瑕佹槸 128 浣嶏紙16 瀛楄妭锛�
+ byte[] ivBytes = secretKey.substring(0, 16).getBytes("UTF-8");
+ IvParameterSpec iv = new IvParameterSpec(ivBytes);
+
+ // 瑙e瘑
+ Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
+ cipher.init(Cipher.DECRYPT_MODE, key, iv);
+
+ // 瑙e瘑鐨勬暟鎹渶瑕佹槸 Base64 缂栫爜鐨勶紝鍥犱负 JavaScript 鐨� CryptoJS 榛樿杩斿洖 Base64 缂栫爜鐨勫瓧绗︿覆
+ byte[] decodedValue = Base64.getDecoder().decode(encryptedData);
+ byte[] decryptedBytes = cipher.doFinal(decodedValue);
+
+ return new String(decryptedBytes, "UTF-8");
+ }
+
+ /**
* digest HMac
*
* @param algorithm 绠楁硶
--
Gitblit v1.9.3