From 5f5fab178fa7086dcdbf3811113560692a058f9e Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Fri, 12 Dec 2025 15:24:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=9A=E4=BD=99=E7=9A=84=20util=20=E6=A0=B8?= =?UTF-8?q?=E9=94=80=E7=A0=81=E5=BC=80=E5=A4=B4=E4=B8=BA0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/czg/utils/CzgRandomUtils.java | 18 +++ .../main/java/com/czg/utils/DigestUtils.java | 104 ------------------ .../src/main/java/com/czg/utils/GeoUtil.java | 4 - .../src/main/java/com/czg/utils/MD5Util.java | 14 --- .../src/main/java/com/czg/CzgPayUtils.java | 6 +- .../order/service/impl/PayServiceImpl.java | 4 +- .../impl/PointsGoodPayServiceImpl.java | 5 +- 7 files changed, 26 insertions(+), 129 deletions(-) delete mode 100644 cash-common/cash-common-tools/src/main/java/com/czg/utils/DigestUtils.java delete mode 100644 cash-common/cash-common-tools/src/main/java/com/czg/utils/MD5Util.java diff --git a/cash-common/cash-common-tools/src/main/java/com/czg/utils/CzgRandomUtils.java b/cash-common/cash-common-tools/src/main/java/com/czg/utils/CzgRandomUtils.java index 42bafcd5d..2c1f28315 100644 --- a/cash-common/cash-common-tools/src/main/java/com/czg/utils/CzgRandomUtils.java +++ b/cash-common/cash-common-tools/src/main/java/com/czg/utils/CzgRandomUtils.java @@ -10,6 +10,11 @@ public class CzgRandomUtils { private static final char[] DEFAULT_ALPHABET = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".toCharArray(); + private static final char[] BASE_NUMBER = + "0123456789".toCharArray(); + + private static final char[] BASE_NUMBER_NO_ZERO = + "123456789".toCharArray(); /** * 默认长度 @@ -35,4 +40,17 @@ public class CzgRandomUtils { public static String randomString(int length) { return NanoId.randomNanoId(null, DEFAULT_ALPHABET, length); } + + + public static String randomNumber(int length) { + return NanoId.randomNanoId(null, BASE_NUMBER, length); + } + + public static String randomNumFirstNoZero(int length) { + return NanoId.randomNanoId(null, BASE_NUMBER_NO_ZERO, 1) + NanoId.randomNanoId(null, BASE_NUMBER, length - 1); + } + + public static void main(String[] args) { + System.out.println(CzgRandomUtils.randomNumFirstNoZero(20)); + } } diff --git a/cash-common/cash-common-tools/src/main/java/com/czg/utils/DigestUtils.java b/cash-common/cash-common-tools/src/main/java/com/czg/utils/DigestUtils.java deleted file mode 100644 index 4d7f1e688..000000000 --- a/cash-common/cash-common-tools/src/main/java/com/czg/utils/DigestUtils.java +++ /dev/null @@ -1,104 +0,0 @@ -package com.czg.utils; - -import java.security.MessageDigest; -import java.security.NoSuchAlgorithmException; - -/** - * Miscellaneous methods for calculating digests. - * - *
Mainly for internal use within the framework; consider - * Apache Commons Codec - * for a more comprehensive suite of digest utilities. - * - * @author Arjen Poutsma - * @author Juergen Hoeller - * @author Craig Andrews - * @since 3.0 - */ -public abstract class DigestUtils { - - private static final String MD5_ALGORITHM_NAME = "MD5"; - - private static final char[] HEX_CHARS = - {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; - - - /** - * Calculate the MD5 digest of the given bytes. - * @param bytes the bytes to calculate the digest over - * @return the digest - */ - public static byte[] md5Digest(byte[] bytes) { - return digest(MD5_ALGORITHM_NAME, bytes); - } - - - /** - * Return a hexadecimal string representation of the MD5 digest of the given bytes. - * @param bytes the bytes to calculate the digest over - * @return a hexadecimal digest string - */ - public static String md5DigestAsHex(byte[] bytes) { - return digestAsHexString(MD5_ALGORITHM_NAME, bytes); - } - - - /** - * Append a hexadecimal string representation of the MD5 digest of the given - * bytes to the given {@link StringBuilder}. - * @param bytes the bytes to calculate the digest over - * @param builder the string builder to append the digest to - * @return the given string builder - */ - public static StringBuilder appendMd5DigestAsHex(byte[] bytes, StringBuilder builder) { - return appendDigestAsHex(MD5_ALGORITHM_NAME, bytes, builder); - } - - - /** - * Create a new {@link MessageDigest} with the given algorithm. - *
Necessary because {@code MessageDigest} is not thread-safe.
- */
- private static MessageDigest getDigest(String algorithm) {
- try {
- return MessageDigest.getInstance(algorithm);
- }
- catch (NoSuchAlgorithmException ex) {
- throw new IllegalStateException("Could not find MessageDigest with algorithm \"" + algorithm + "\"", ex);
- }
- }
-
- private static byte[] digest(String algorithm, byte[] bytes) {
- return getDigest(algorithm).digest(bytes);
- }
-
-
-
- private static String digestAsHexString(String algorithm, byte[] bytes) {
- char[] hexDigest = digestAsHexChars(algorithm, bytes);
- return new String(hexDigest);
- }
-
- private static StringBuilder appendDigestAsHex(String algorithm, byte[] bytes, StringBuilder builder) {
- char[] hexDigest = digestAsHexChars(algorithm, bytes);
- return builder.append(hexDigest);
- }
-
-
- private static char[] digestAsHexChars(String algorithm, byte[] bytes) {
- byte[] digest = digest(algorithm, bytes);
- return encodeHex(digest);
- }
-
-
- private static char[] encodeHex(byte[] bytes) {
- char[] chars = new char[32];
- for (int i = 0; i < chars.length; i = i + 2) {
- byte b = bytes[i / 2];
- chars[i] = HEX_CHARS[(b >>> 0x4) & 0xf];
- chars[i + 1] = HEX_CHARS[b & 0xf];
- }
- return chars;
- }
-
-}
diff --git a/cash-common/cash-common-tools/src/main/java/com/czg/utils/GeoUtil.java b/cash-common/cash-common-tools/src/main/java/com/czg/utils/GeoUtil.java
index d84d93315..fc524f176 100644
--- a/cash-common/cash-common-tools/src/main/java/com/czg/utils/GeoUtil.java
+++ b/cash-common/cash-common-tools/src/main/java/com/czg/utils/GeoUtil.java
@@ -1,10 +1,6 @@
package com.czg.utils;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.stereotype.Component;
-import org.springframework.web.client.RestTemplate;
/**
* @author Administrator
diff --git a/cash-common/cash-common-tools/src/main/java/com/czg/utils/MD5Util.java b/cash-common/cash-common-tools/src/main/java/com/czg/utils/MD5Util.java
deleted file mode 100644
index 4a306179d..000000000
--- a/cash-common/cash-common-tools/src/main/java/com/czg/utils/MD5Util.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package com.czg.utils;
-
-/**
- * @author ww
- */
-public class MD5Util {
-
- /**
- * MD5加密 十六进制
- */
- public static String md5AsHex(String str) {
- return DigestUtils.md5DigestAsHex(str.getBytes());
- }
-}
diff --git a/cash-sdk/czg-pay/src/main/java/com/czg/CzgPayUtils.java b/cash-sdk/czg-pay/src/main/java/com/czg/CzgPayUtils.java
index 80ccc3895..8574ee21b 100644
--- a/cash-sdk/czg-pay/src/main/java/com/czg/CzgPayUtils.java
+++ b/cash-sdk/czg-pay/src/main/java/com/czg/CzgPayUtils.java
@@ -3,6 +3,7 @@ package com.czg;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
+import cn.hutool.crypto.digest.MD5;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import com.alibaba.fastjson2.JSONObject;
@@ -14,7 +15,6 @@ import com.czg.entity.resp.*;
import com.czg.enums.CzgPayEnum;
import com.czg.resp.CzgResult;
import com.czg.utils.AssertUtil;
-import com.czg.utils.MD5Util;
import lombok.NonNull;
import lombok.extern.slf4j.Slf4j;
@@ -164,7 +164,7 @@ public class CzgPayUtils {
private static