Explorar el Código

添加 RandomString 随机字符串工具类

reghao hace 3 años
padre
commit
edcf212c99

+ 46 - 0
jdk/src/main/java/cn/reghao/jutil/jdk/security/RandomString.java

@@ -0,0 +1,46 @@
+package cn.reghao.jutil.jdk.security;
+
+import java.security.SecureRandom;
+import java.util.Base64;
+
+/**
+ * 随机字符串
+ *
+ * @author reghao
+ * @date 2023-02-17 09:42:56
+ */
+public class RandomString {
+    static final SecureRandom sr = new SecureRandom();
+    static final String str = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUTWXYZ";
+    static String num = "0123456789";
+
+    /**
+     * 获取盐
+     *
+     * @param len 长度
+     * @return Base64 编码的字符串
+     * @date 2023-02-17 09:44:02
+     */
+    public static String getSalt(int len) {
+        byte[] seed = sr.generateSeed(len);
+        return Base64.getEncoder().encodeToString(seed);
+    }
+
+    public static String getNumber(int len) {
+        StringBuilder sb = new StringBuilder();
+        for (int i = 0; i < len; i++) {
+            int number = sr.nextInt(num.length());
+            sb.append(str.charAt(number));
+        }
+        return sb.toString();
+    }
+
+    public static String getString(int len) {
+        StringBuilder sb = new StringBuilder();
+        for (int i = 0; i < len; i++) {
+            int number = sr.nextInt(str.length());
+            sb.append(str.charAt(number));
+        }
+        return sb.toString();
+    }
+}

+ 1 - 0
jdk/src/main/java/cn/reghao/jutil/jdk/security/Salt.java

@@ -7,6 +7,7 @@ import java.util.Base64;
  * @author reghao
  * @date 2019-04-05 12:23:47
  */
+@Deprecated
 public class Salt {
     private static SecureRandom random = new SecureRandom();