From 829904b5c5f3c92c99b0286256e83da9c3d25783 Mon Sep 17 00:00:00 2001 From: niushuai233 Date: Wed, 4 Jan 2023 16:51:17 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=8C=E5=96=84=E5=8A=A0=E5=AF=86?= =?UTF-8?q?=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../util/SensitiveInfoUtil.java | 6 +-- .../util/encryption/AesEncryptUtil.java | 46 +++++++++---------- .../util/encryption/EncryptedString.java | 10 ++-- .../system/controller/LoginController.java | 2 +- 4 files changed, 32 insertions(+), 32 deletions(-) diff --git a/src/main/java/cc/niushuai/bastionserver/common/desensitization/util/SensitiveInfoUtil.java b/src/main/java/cc/niushuai/bastionserver/common/desensitization/util/SensitiveInfoUtil.java index 4ace925..26a17ac 100644 --- a/src/main/java/cc/niushuai/bastionserver/common/desensitization/util/SensitiveInfoUtil.java +++ b/src/main/java/cc/niushuai/bastionserver/common/desensitization/util/SensitiveInfoUtil.java @@ -99,8 +99,8 @@ public class SensitiveInfoUtil { } } } - //long endTime=System.currentTimeMillis(); - //log.info((isEncode ? "加密操作," : "解密操作,") + "当前程序耗时:" + (endTime - startTime) + "ms"); + long endTime=System.currentTimeMillis(); + log.info((isEncode ? "加密操作," : "解密操作,") + "当前程序耗时:" + (endTime - startTime) + "ms"); return obj; } @@ -138,7 +138,7 @@ public class SensitiveInfoUtil { public static String getDecodeData(String data) { String result = null; try { - result = AesEncryptUtil.desEncrypt(data); + result = AesEncryptUtil.decrypt(data); } catch (Exception exception) { log.debug("数据解密错误,原数据:" + data); } diff --git a/src/main/java/cc/niushuai/bastionserver/common/util/encryption/AesEncryptUtil.java b/src/main/java/cc/niushuai/bastionserver/common/util/encryption/AesEncryptUtil.java index ec220a3..2f83edf 100644 --- a/src/main/java/cc/niushuai/bastionserver/common/util/encryption/AesEncryptUtil.java +++ b/src/main/java/cc/niushuai/bastionserver/common/util/encryption/AesEncryptUtil.java @@ -17,8 +17,8 @@ public class AesEncryptUtil { /** * 使用AES-128-CBC加密模式 key和iv可以相同 */ - private static String KEY = EncryptedString.key; - private static String IV = EncryptedString.iv; + private static final String KEY = EncryptedString.key; + private static final String IV = EncryptedString.iv; /** * 加密方法 @@ -68,9 +68,9 @@ public class AesEncryptUtil { * @return 解密的结果 * @throws Exception */ - public static String desEncrypt(String data, String key, String iv) throws Exception { + public static String decrypt(String data, String key, String iv) throws Exception { //update-begin-author:taoyan date:2022-5-23 for:VUEN-1084 【vue3】online表单测试发现的新问题 6、解密报错 ---解码失败应该把异常抛出去,在外面处理 - byte[] encrypted1 = Base64.decode(data); + byte[] encrypted = Base64.decode(data); Cipher cipher = Cipher.getInstance("AES/CBC/NoPadding"); SecretKeySpec keyspec = new SecretKeySpec(key.getBytes(), "AES"); @@ -78,7 +78,7 @@ public class AesEncryptUtil { cipher.init(Cipher.DECRYPT_MODE, keyspec, ivspec); - byte[] original = cipher.doFinal(encrypted1); + byte[] original = cipher.doFinal(encrypted); String originalString = new String(original); //加密解码后的字符串会出现\u0000 return originalString.replaceAll("\\u0000", ""); @@ -103,26 +103,26 @@ public class AesEncryptUtil { * @return * @throws Exception */ - public static String desEncrypt(String data) throws Exception { - return desEncrypt(data, KEY, IV); + public static String decrypt(String data) throws Exception { + return decrypt(data, KEY, IV); } -// /** -// * 测试 -// */ -// public static void main(String args[]) throws Exception { -// String test1 = "sa"; -// String test =new String(test1.getBytes(),"UTF-8"); -// String data = null; -// String key = KEY; -// String iv = IV; -// // /g2wzfqvMOeazgtsUVbq1kmJawROa6mcRAzwG1/GeJ4= -// data = encrypt(test, key, iv); -// System.out.println("数据:"+test); -// System.out.println("加密:"+data); -// String jiemi =desEncrypt(data, key, iv).trim(); -// System.out.println("解密:"+jiemi); -// } + /** + * 测试 + */ + public static void main(String args[]) throws Exception { + String test1 = "sa"; + String test = new String(test1.getBytes(), "UTF-8"); + String data = null; + String key = KEY; + String iv = IV; + // /g2wzfqvMOeazgtsUVbq1kmJawROa6mcRAzwG1/GeJ4= + data = encrypt(test, key, iv); + System.out.println("数据:" + test); + System.out.println("加密:" + data); + String jiemi = decrypt("luLwvA8vet/J6MFGawa4OQ==", key, iv).trim(); + System.out.println("解密:" + jiemi); + } } diff --git a/src/main/java/cc/niushuai/bastionserver/common/util/encryption/EncryptedString.java b/src/main/java/cc/niushuai/bastionserver/common/util/encryption/EncryptedString.java index af3049e..30b64f9 100644 --- a/src/main/java/cc/niushuai/bastionserver/common/util/encryption/EncryptedString.java +++ b/src/main/java/cc/niushuai/bastionserver/common/util/encryption/EncryptedString.java @@ -1,12 +1,12 @@ package cc.niushuai.bastionserver.common.util.encryption; - import lombok.Data; /** - * EncryptedString + * 加密所需参数 同时通过接口提供给前台 * - * @author: jeecg-boot + * @author niushuai233 + * @date: 2023/1/4 15:21 */ @Data public class EncryptedString { @@ -14,10 +14,10 @@ public class EncryptedString { /** * 长度为16个字符 */ - public static String key = "1234567890adbcde"; + public static final String key = "B3AC90F688974749"; /** * 长度为16个字符 */ - public static String iv = "1234567890hjlkew"; + public static final String iv = "A39F3975DC5D4D38"; } diff --git a/src/main/java/cc/niushuai/bastionserver/modules/system/controller/LoginController.java b/src/main/java/cc/niushuai/bastionserver/modules/system/controller/LoginController.java index 1584a63..faf793d 100644 --- a/src/main/java/cc/niushuai/bastionserver/modules/system/controller/LoginController.java +++ b/src/main/java/cc/niushuai/bastionserver/modules/system/controller/LoginController.java @@ -486,7 +486,7 @@ public class LoginController { @GetMapping(value = "/getEncryptedString") public Result> getEncryptedString() { Result> result = new Result>(); - Map map = new HashMap(5); + Map map = new HashMap(2); map.put("key", EncryptedString.key); map.put("iv", EncryptedString.iv); result.setResult(map);