From c34375c1f233fbc4cf3e754d2c59e5abc65e87da Mon Sep 17 00:00:00 2001 From: dangsn <dangsn@vci-tech.com> Date: 星期五, 20 十二月 2024 23:13:41 +0800 Subject: [PATCH] 图标服务功能,以及AES加密 --- Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/util/Lcm/DigestUtil.java | 32 ++++++++++++++++++++++++++++---- 1 files changed, 28 insertions(+), 4 deletions(-) diff --git a/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/util/Lcm/DigestUtil.java b/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/util/Lcm/DigestUtil.java index b1012e8..ba11a14 100644 --- a/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/util/Lcm/DigestUtil.java +++ b/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/util/Lcm/DigestUtil.java @@ -9,6 +9,7 @@ import javax.crypto.SecretKey; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; +import java.nio.charset.StandardCharsets; import java.security.InvalidKeyException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; @@ -333,16 +334,16 @@ /** * aes瑙e瘑 * @param secretKey 绉橀挜 - * @param encryptedData Data + * @param encryptedData 瀵嗘枃 * @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"); + byte[] keyBytes = secretKey.getBytes(StandardCharsets.UTF_8); SecretKeySpec key = new SecretKeySpec(keyBytes, "AES"); // 鍒濆鍖栧悜閲� IV 涔熼渶瑕佹槸 128 浣嶏紙16 瀛楄妭锛� - byte[] ivBytes = secretKey.substring(0, 16).getBytes("UTF-8"); + byte[] ivBytes = secretKey.substring(0, 16).getBytes(StandardCharsets.UTF_8); IvParameterSpec iv = new IvParameterSpec(ivBytes); // 瑙e瘑 @@ -353,7 +354,30 @@ byte[] decodedValue = Base64.getDecoder().decode(encryptedData); byte[] decryptedBytes = cipher.doFinal(decodedValue); - return new String(decryptedBytes, "UTF-8"); + return new String(decryptedBytes, StandardCharsets.UTF_8); + } + + /** + * aes瑙e瘑 + * @param secretKey 绉橀挜 + * @param decryptData 鏄庢枃 + * @return digest as a hex string + */ + public static String encryptAes(String decryptData, String secretKey) throws Exception{ + // AES 瀵嗛挜闀垮害闇�瑕佹槸 128, 192, 鎴� 256 浣嶏紙16, 24, 鎴� 32 瀛楄妭锛� + byte[] keyBytes = secretKey.getBytes(StandardCharsets.UTF_8); + SecretKeySpec key = new SecretKeySpec(keyBytes, "AES"); + + // 鍒濆鍖栧悜閲� IV 涔熼渶瑕佹槸 128 浣嶏紙16 瀛楄妭锛� + byte[] ivBytes = secretKey.substring(0, 16).getBytes(StandardCharsets.UTF_8); + IvParameterSpec iv = new IvParameterSpec(ivBytes); + + // 鍔犲瘑 + Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); + cipher.init(Cipher.ENCRYPT_MODE, key, iv); + + byte[] encryptBytes = cipher.doFinal(decryptData.getBytes(StandardCharsets.UTF_8)); + return Base64.getEncoder().encodeToString(encryptBytes); } /** -- Gitblit v1.9.3