From 2bb787886d23b6bded217a1622c80cbf7180baf3 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期一, 09 十二月 2024 12:42:36 +0800
Subject: [PATCH] update 优化 代码生成 增加buildQueryWrapper默认排序规则
---
ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/utils/EncryptUtils.java | 86 +++++++++++++++++++++++++++++++++++++++++-
1 files changed, 83 insertions(+), 3 deletions(-)
diff --git a/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/utils/EncryptUtils.java b/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/utils/EncryptUtils.java
index 6ed9fe7..2a096ee 100644
--- a/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/utils/EncryptUtils.java
+++ b/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/utils/EncryptUtils.java
@@ -19,10 +19,12 @@
* @author 鑰侀┈
*/
public class EncryptUtils {
+
/**
* 鍏挜
*/
public static final String PUBLIC_KEY = "publicKey";
+
/**
* 绉侀挜
*/
@@ -51,7 +53,7 @@
/**
* AES鍔犲瘑
*
- * @param data 寰呰В瀵嗘暟鎹�
+ * @param data 寰呭姞瀵嗘暟鎹�
* @param password 绉橀挜瀛楃涓�
* @return 鍔犲瘑鍚庡瓧绗︿覆, 閲囩敤Base64缂栫爜
*/
@@ -65,6 +67,25 @@
throw new IllegalArgumentException("AES绉橀挜闀垮害瑕佹眰涓�16浣嶃��24浣嶃��32浣�");
}
return SecureUtil.aes(password.getBytes(StandardCharsets.UTF_8)).encryptBase64(data, StandardCharsets.UTF_8);
+ }
+
+ /**
+ * AES鍔犲瘑
+ *
+ * @param data 寰呭姞瀵嗘暟鎹�
+ * @param password 绉橀挜瀛楃涓�
+ * @return 鍔犲瘑鍚庡瓧绗︿覆, 閲囩敤Hex缂栫爜
+ */
+ public static String encryptByAesHex(String data, String password) {
+ if (StrUtil.isBlank(password)) {
+ throw new IllegalArgumentException("AES闇�瑕佷紶鍏ョ閽ヤ俊鎭�");
+ }
+ // aes绠楁硶鐨勭閽ヨ姹傛槸16浣嶃��24浣嶃��32浣�
+ int[] array = {16, 24, 32};
+ if (!ArrayUtil.contains(array, password.length())) {
+ throw new IllegalArgumentException("AES绉橀挜闀垮害瑕佹眰涓�16浣嶃��24浣嶃��32浣�");
+ }
+ return SecureUtil.aes(password.getBytes(StandardCharsets.UTF_8)).encryptHex(data, StandardCharsets.UTF_8);
}
/**
@@ -103,6 +124,25 @@
throw new IllegalArgumentException("SM4绉橀挜闀垮害瑕佹眰涓�16浣�");
}
return SmUtil.sm4(password.getBytes(StandardCharsets.UTF_8)).encryptBase64(data, StandardCharsets.UTF_8);
+ }
+
+ /**
+ * sm4鍔犲瘑
+ *
+ * @param data 寰呭姞瀵嗘暟鎹�
+ * @param password 绉橀挜瀛楃涓�
+ * @return 鍔犲瘑鍚庡瓧绗︿覆, 閲囩敤Base64缂栫爜
+ */
+ public static String encryptBySm4Hex(String data, String password) {
+ if (StrUtil.isBlank(password)) {
+ throw new IllegalArgumentException("SM4闇�瑕佷紶鍏ョ閽ヤ俊鎭�");
+ }
+ // sm4绠楁硶鐨勭閽ヨ姹傛槸16浣嶉暱搴�
+ int sm4PasswordLength = 16;
+ if (sm4PasswordLength != password.length()) {
+ throw new IllegalArgumentException("SM4绉橀挜闀垮害瑕佹眰涓�16浣�");
+ }
+ return SmUtil.sm4(password.getBytes(StandardCharsets.UTF_8)).encryptHex(data, StandardCharsets.UTF_8);
}
/**
@@ -153,9 +193,24 @@
}
/**
+ * sm2鍏挜鍔犲瘑
+ *
+ * @param data 寰呭姞瀵嗘暟鎹�
+ * @param publicKey 鍏挜
+ * @return 鍔犲瘑鍚庡瓧绗︿覆, 閲囩敤Hex缂栫爜
+ */
+ public static String encryptBySm2Hex(String data, String publicKey) {
+ if (StrUtil.isBlank(publicKey)) {
+ throw new IllegalArgumentException("SM2闇�瑕佷紶鍏ュ叕閽ヨ繘琛屽姞瀵�");
+ }
+ SM2 sm2 = SmUtil.sm2(null, publicKey);
+ return sm2.encryptHex(data, StandardCharsets.UTF_8, KeyType.PublicKey);
+ }
+
+ /**
* sm2绉侀挜瑙e瘑
*
- * @param data 寰呭姞瀵嗘暟鎹�
+ * @param data 寰呰В瀵嗘暟鎹�
* @param privateKey 绉侀挜
* @return 瑙e瘑鍚庡瓧绗︿覆
*/
@@ -196,9 +251,24 @@
}
/**
+ * rsa鍏挜鍔犲瘑
+ *
+ * @param data 寰呭姞瀵嗘暟鎹�
+ * @param publicKey 鍏挜
+ * @return 鍔犲瘑鍚庡瓧绗︿覆, 閲囩敤Hex缂栫爜
+ */
+ public static String encryptByRsaHex(String data, String publicKey) {
+ if (StrUtil.isBlank(publicKey)) {
+ throw new IllegalArgumentException("RSA闇�瑕佷紶鍏ュ叕閽ヨ繘琛屽姞瀵�");
+ }
+ RSA rsa = SecureUtil.rsa(null, publicKey);
+ return rsa.encryptHex(data, StandardCharsets.UTF_8, KeyType.PublicKey);
+ }
+
+ /**
* rsa绉侀挜瑙e瘑
*
- * @param data 寰呭姞瀵嗘暟鎹�
+ * @param data 寰呰В瀵嗘暟鎹�
* @param privateKey 绉侀挜
* @return 瑙e瘑鍚庡瓧绗︿覆
*/
@@ -230,4 +300,14 @@
return SecureUtil.sha256(data);
}
+ /**
+ * sm3鍔犲瘑
+ *
+ * @param data 寰呭姞瀵嗘暟鎹�
+ * @return 鍔犲瘑鍚庡瓧绗︿覆, 閲囩敤Hex缂栫爜
+ */
+ public static String encryptBySm3(String data) {
+ return SmUtil.sm3(data);
+ }
+
}
--
Gitblit v1.9.3