From 8236caa8042288fcb9b584c21d6157f713183626 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期四, 13 二月 2025 16:36:01 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile --- ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/AESUtil.java | 107 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 107 insertions(+), 0 deletions(-) diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/AESUtil.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/AESUtil.java new file mode 100644 index 0000000..374e678 --- /dev/null +++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/AESUtil.java @@ -0,0 +1,107 @@ +package com.ruoyi.integration.drainage; + + +import com.ruoyi.common.core.utils.StringUtils; +import org.springframework.util.Base64Utils; + +import javax.crypto.Cipher; +import javax.crypto.spec.IvParameterSpec; +import javax.crypto.spec.SecretKeySpec; + +/** + * 定义AES加密解密工具类 + */ +public class AESUtil { + + private static final String KEY_ALGORITHM = "AES";//加密方式 + + private static final String DEFAULT_CIPHER_ALGORITHM = "AES/CBC/PKCS5Padding";//默认的加密算法 + + private static final String KEY = "1234567890abcdef";//密码 + + private static final String IV_PARAMETER = "1234567890abcdef";//偏移量 + + private static final String CHARSET = "UTF-8";//编码 + + + + /** + * 加密操作 + * @param content 待加密内容 + * @return + * @throws Exception + */ + public static String encrypt(String content) { + return encrypt(content, KEY, IV_PARAMETER); + } + + + + /** + * 加密操作 + * @param content 待加密内容 + * @return + * @throws Exception + */ + public static String encrypt(String content, String key, String iv_parameter) { + try { + if(StringUtils.isEmpty(content)){ + return content; + } + Cipher cipher = Cipher.getInstance(DEFAULT_CIPHER_ALGORITHM); + byte[] raw = key.getBytes(CHARSET); + SecretKeySpec skeySpec = new SecretKeySpec(raw, KEY_ALGORITHM); + IvParameterSpec iv = new IvParameterSpec(iv_parameter.getBytes()); + cipher.init(Cipher.ENCRYPT_MODE, skeySpec, iv); + byte[] encrypted = cipher.doFinal(content.getBytes(CHARSET)); + return Base64Utils.encodeToString(encrypted); + }catch (Exception e){ + e.printStackTrace(); + } + return null; + } + + + public static String decrypt(String content) { + return decrypt(content, KEY, IV_PARAMETER); + } + + + + + + /** + *解密操作 + * @param content 待解密内容 + * @return + * @throws Exception + */ + public static String decrypt(String content, String key, String iv_parameter) { + try { + if(StringUtils.isEmpty(content)){ + return content; + } + byte[] raw = key.getBytes(CHARSET); + SecretKeySpec skeySpec = new SecretKeySpec(raw, KEY_ALGORITHM); + Cipher cipher = Cipher.getInstance(DEFAULT_CIPHER_ALGORITHM); + IvParameterSpec iv = new IvParameterSpec(iv_parameter.getBytes()); + cipher.init(Cipher.DECRYPT_MODE, skeySpec, iv); + + byte[] encrypted1 = Base64Utils.decodeFromString(content); + byte[] original = cipher.doFinal(encrypted1); + String originalString = new String(original, CHARSET); + return originalString; + } catch (Exception ex) { + ex.printStackTrace(); + } + return null; + } + + + public static void main(String[] ages){ +// String encrypt = AESUtil.encrypt("{\"OperatorSecret\":\"cn51EeFQDTSMsn11R1ZNsYSEYBxDYcKK\",\"OperatorID\":\"MA25CNM38\"}", "YPFVz1OvAS4nSwLW", "5tLoP60aR9QUB5Mx"); +// System.err.println(encrypt); + String travel = AESUtil.decrypt("9gVnNqAh9O7IuqqbyD8G1ukK86O3g0bUBLzM1LJL060bNjPJCtW0wWRjr756abxIm+nOuKkjMy7/DYScMcnl2KSYJJJb6Xc4Aza8L24Mp/UKQyW6Fe9m+ThDVUfMwvn7U2OxHDXniBUdmpNi2Ex9uHa/R18H2ka0DCv/bKCm/F4KTfz48Et/1L64JTTmj7l4the0Wr7KGiVewPIEE03LF5lF+h9j0W8czC6Gx5UJOMU=", "YPFVz1OvAS4nSwLW", "5tLoP60aR9QUB5Mx"); + System.err.println(travel); + } +} -- Gitblit v1.7.1