From d6c99a2a6b9b8e1dcffcee625b43c06b01bc0238 Mon Sep 17 00:00:00 2001 From: shenym3 Date: Fri, 17 Jan 2025 16:29:24 +0800 Subject: [PATCH 1/2] =?UTF-8?q?[fix]:[][=E8=B0=83=E6=95=B4api=E6=9D=83?= =?UTF-8?q?=E9=99=90=E5=A2=9E=E9=87=8F=E6=9B=B4=E6=96=B0]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jeesite/modules/util/vir/AESUtil.java | 34 +++++++++++++++++++ src/test/java/com/jeesite/test/AESUtil.java | 34 +++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100644 src/main/java/com/jeesite/modules/util/vir/AESUtil.java create mode 100644 src/test/java/com/jeesite/test/AESUtil.java diff --git a/src/main/java/com/jeesite/modules/util/vir/AESUtil.java b/src/main/java/com/jeesite/modules/util/vir/AESUtil.java new file mode 100644 index 0000000..16de703 --- /dev/null +++ b/src/main/java/com/jeesite/modules/util/vir/AESUtil.java @@ -0,0 +1,34 @@ +package com.asiainfo.ai.admin.utils; + +import cn.hutool.core.util.CharsetUtil; +import cn.hutool.crypto.symmetric.SymmetricAlgorithm; +import cn.hutool.crypto.symmetric.SymmetricCrypto; + +public class AESUtil { + + /** + * aes加密 + * + * @param clientSecret 原始密钥 + */ + public static String encryptAesEncrypt(String clientId, String clientSecret) { + //构建--用clientId作为密钥 + SymmetricCrypto aes = new SymmetricCrypto(SymmetricAlgorithm.AES, "bc39e70327ac4b1186a9a69ead73474e".getBytes()); + //加密为16进制表示 + String encryptHex = aes.encryptHex(clientSecret); + return encryptHex; + } + + /** + * aes解密 + * + * @param encryptClientSecret clientApp表里边的aes加密后密码 + */ + public static String decryptAesEncrypt(String clientId, String encryptClientSecret) { + //构建--用clientId作为密钥 + SymmetricCrypto aes = new SymmetricCrypto(SymmetricAlgorithm.AES, "bc39e70327ac4b1186a9a69ead73474e".getBytes()); + //加密为16进制表示 + String decryptStr = aes.decryptStr(encryptClientSecret, CharsetUtil.CHARSET_UTF_8); + return decryptStr; + } +} diff --git a/src/test/java/com/jeesite/test/AESUtil.java b/src/test/java/com/jeesite/test/AESUtil.java new file mode 100644 index 0000000..16de703 --- /dev/null +++ b/src/test/java/com/jeesite/test/AESUtil.java @@ -0,0 +1,34 @@ +package com.asiainfo.ai.admin.utils; + +import cn.hutool.core.util.CharsetUtil; +import cn.hutool.crypto.symmetric.SymmetricAlgorithm; +import cn.hutool.crypto.symmetric.SymmetricCrypto; + +public class AESUtil { + + /** + * aes加密 + * + * @param clientSecret 原始密钥 + */ + public static String encryptAesEncrypt(String clientId, String clientSecret) { + //构建--用clientId作为密钥 + SymmetricCrypto aes = new SymmetricCrypto(SymmetricAlgorithm.AES, "bc39e70327ac4b1186a9a69ead73474e".getBytes()); + //加密为16进制表示 + String encryptHex = aes.encryptHex(clientSecret); + return encryptHex; + } + + /** + * aes解密 + * + * @param encryptClientSecret clientApp表里边的aes加密后密码 + */ + public static String decryptAesEncrypt(String clientId, String encryptClientSecret) { + //构建--用clientId作为密钥 + SymmetricCrypto aes = new SymmetricCrypto(SymmetricAlgorithm.AES, "bc39e70327ac4b1186a9a69ead73474e".getBytes()); + //加密为16进制表示 + String decryptStr = aes.decryptStr(encryptClientSecret, CharsetUtil.CHARSET_UTF_8); + return decryptStr; + } +} -- Gitee From 576209b461c5c422a7498a451a77739b6ed5314b Mon Sep 17 00:00:00 2001 From: shenym3 Date: Fri, 17 Jan 2025 16:35:19 +0800 Subject: [PATCH 2/2] =?UTF-8?q?[fix]:[][=E6=B7=BB=E5=8A=A0=E5=88=9B?= =?UTF-8?q?=E5=BB=BA=E4=BA=BA=E6=9F=A5=E8=AF=A2]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jeesite/modules/util/vir/AESUtil.java | 2 +- .../jeesite/modules/util/vir/AiFileUtil.java | 45 +++++++++++++++++++ src/test/java/com/jeesite/test/AESUtil.java | 34 -------------- 3 files changed, 46 insertions(+), 35 deletions(-) create mode 100644 src/main/java/com/jeesite/modules/util/vir/AiFileUtil.java delete mode 100644 src/test/java/com/jeesite/test/AESUtil.java diff --git a/src/main/java/com/jeesite/modules/util/vir/AESUtil.java b/src/main/java/com/jeesite/modules/util/vir/AESUtil.java index 16de703..381e2cb 100644 --- a/src/main/java/com/jeesite/modules/util/vir/AESUtil.java +++ b/src/main/java/com/jeesite/modules/util/vir/AESUtil.java @@ -1,4 +1,4 @@ -package com.asiainfo.ai.admin.utils; +package com.vir.ai.admin.utils; import cn.hutool.core.util.CharsetUtil; import cn.hutool.crypto.symmetric.SymmetricAlgorithm; diff --git a/src/main/java/com/jeesite/modules/util/vir/AiFileUtil.java b/src/main/java/com/jeesite/modules/util/vir/AiFileUtil.java new file mode 100644 index 0000000..32d5e1d --- /dev/null +++ b/src/main/java/com/jeesite/modules/util/vir/AiFileUtil.java @@ -0,0 +1,45 @@ +package com.vir.ai.admin.utils; + + +import cn.hutool.core.util.ZipUtil; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.io.FileUtils; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.io.*; + +/** + * @author adward + */ +@Slf4j +public class AiFileUtil { + private AiFileUtil() { + } + + public static void streamToResponse(File destFile) throws Exception{ + log.info("正在写入response"); + ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + assert requestAttributes != null; + HttpServletResponse response = requestAttributes.getResponse(); + + response.setHeader("content-type", "application/octet-stream"); + response.setContentType("application/octet-stream"); + String fileName = java.net.URLEncoder.encode(destFile.getName(),"UTF-8").replace("+","%20"); + response.setHeader("Content-Disposition", "attachment;filename*=UTF-8''" + fileName); + + byte[] buff = new byte[1024]; + try (OutputStream os = response.getOutputStream(); BufferedInputStream bis = new BufferedInputStream(new FileInputStream(destFile))) { + int i = bis.read(buff); + while (i != -1) { + os.write(buff, 0, i); + os.flush(); + i = bis.read(buff); + } + } + + log.info("文件流写入完成"); + } +} diff --git a/src/test/java/com/jeesite/test/AESUtil.java b/src/test/java/com/jeesite/test/AESUtil.java deleted file mode 100644 index 16de703..0000000 --- a/src/test/java/com/jeesite/test/AESUtil.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.asiainfo.ai.admin.utils; - -import cn.hutool.core.util.CharsetUtil; -import cn.hutool.crypto.symmetric.SymmetricAlgorithm; -import cn.hutool.crypto.symmetric.SymmetricCrypto; - -public class AESUtil { - - /** - * aes加密 - * - * @param clientSecret 原始密钥 - */ - public static String encryptAesEncrypt(String clientId, String clientSecret) { - //构建--用clientId作为密钥 - SymmetricCrypto aes = new SymmetricCrypto(SymmetricAlgorithm.AES, "bc39e70327ac4b1186a9a69ead73474e".getBytes()); - //加密为16进制表示 - String encryptHex = aes.encryptHex(clientSecret); - return encryptHex; - } - - /** - * aes解密 - * - * @param encryptClientSecret clientApp表里边的aes加密后密码 - */ - public static String decryptAesEncrypt(String clientId, String encryptClientSecret) { - //构建--用clientId作为密钥 - SymmetricCrypto aes = new SymmetricCrypto(SymmetricAlgorithm.AES, "bc39e70327ac4b1186a9a69ead73474e".getBytes()); - //加密为16进制表示 - String decryptStr = aes.decryptStr(encryptClientSecret, CharsetUtil.CHARSET_UTF_8); - return decryptStr; - } -} -- Gitee