diff --git a/CHANGELOG.md b/CHANGELOG.md
index 378476d34..119041a70 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -13,6 +13,7 @@
* 【core】 增加DateUtil.parseCST方法(issue#570@Github)
* 【core】 增加defaultIfEmpty方法
* 【crypto】 修改bigIntToFixexLengthBytes为bigIntToFixedLengthBytes(pr#575@Github)
+* 【core】 RandomUtil增加randomStringWithoutStr(pr#76@Gitee)
### Bug修复
* 【all】 修复阶乘计算错误bug(issue#I12XE4@Gitee)
diff --git a/hutool-core/src/main/java/cn/hutool/core/util/RandomUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/RandomUtil.java
index 8d11c3163..0505546c7 100644
--- a/hutool-core/src/main/java/cn/hutool/core/util/RandomUtil.java
+++ b/hutool-core/src/main/java/cn/hutool/core/util/RandomUtil.java
@@ -25,23 +25,28 @@ import cn.hutool.core.lang.WeightRandom.WeightObj;
/**
* 随机工具类
- *
- * @author xiaoleilu
*
+ * @author xiaoleilu
*/
public class RandomUtil {
- /** 用于随机选的数字 */
+ /**
+ * 用于随机选的数字
+ */
public static final String BASE_NUMBER = "0123456789";
- /** 用于随机选的字符 */
+ /**
+ * 用于随机选的字符
+ */
public static final String BASE_CHAR = "abcdefghijklmnopqrstuvwxyz";
- /** 用于随机选的字符和数字 */
+ /**
+ * 用于随机选的字符和数字
+ */
public static final String BASE_CHAR_NUMBER = BASE_CHAR + BASE_NUMBER;
/**
* 获取随机数生成器对象
* ThreadLocalRandom是JDK 7之后提供并发产生随机数,能够解决多个线程发生的竞争争夺。
- *
+ *
* @return {@link ThreadLocalRandom}
* @since 3.1.2
*/
@@ -51,7 +56,7 @@ public class RandomUtil {
/**
* 创建{@link SecureRandom},类提供加密的强随机数生成器 (RNG)
- *
+ *
* @param seed 自定义随机种子
* @return {@link SecureRandom}
* @since 4.6.5
@@ -63,10 +68,10 @@ public class RandomUtil {
/**
* 获取{@link SecureRandom},类提供加密的强随机数生成器 (RNG)
* 注意:此方法获取的是伪随机序列发生器PRNG(pseudo-random number generator)
- *
+ *
*
* 相关说明见:https://stackoverflow.com/questions/137212/how-to-solve-slow-java-securerandom
- *
+ *
* @return {@link SecureRandom}
* @since 3.1.2
*/
@@ -80,12 +85,12 @@ public class RandomUtil {
/**
* 获取随机数产生器
- *
+ *
* @param isSecure 是否为强随机数生成器 (RNG)
* @return {@link Random}
- * @since 4.1.15
* @see #getSecureRandom()
* @see #getRandom()
+ * @since 4.1.15
*/
public static Random getRandom(boolean isSecure) {
return isSecure ? getSecureRandom() : getRandom();
@@ -93,7 +98,7 @@ public class RandomUtil {
/**
* 获得随机Boolean值
- *
+ *
* @return true or false
* @since 4.5.9
*/
@@ -103,7 +108,7 @@ public class RandomUtil {
/**
* 获得指定范围内的随机数
- *
+ *
* @param min 最小数(包含)
* @param max 最大数(不包含)
* @return 随机数
@@ -114,7 +119,7 @@ public class RandomUtil {
/**
* 获得随机数[0, 2^32)
- *
+ *
* @return 随机数
*/
public static int randomInt() {
@@ -123,7 +128,7 @@ public class RandomUtil {
/**
* 获得指定范围内的随机数 [0,limit)
- *
+ *
* @param limit 限制随机数的范围,不包括这个数
* @return 随机数
*/
@@ -133,7 +138,7 @@ public class RandomUtil {
/**
* 获得指定范围内的随机数[min, max)
- *
+ *
* @param min 最小数(包含)
* @param max 最大数(不包含)
* @return 随机数
@@ -145,7 +150,7 @@ public class RandomUtil {
/**
* 获得随机数
- *
+ *
* @return 随机数
* @since 3.3.0
*/
@@ -155,7 +160,7 @@ public class RandomUtil {
/**
* 获得指定范围内的随机数 [0,limit)
- *
+ *
* @param limit 限制随机数的范围,不包括这个数
* @return 随机数
*/
@@ -165,7 +170,7 @@ public class RandomUtil {
/**
* 获得指定范围内的随机数
- *
+ *
* @param min 最小数(包含)
* @param max 最大数(不包含)
* @return 随机数
@@ -177,10 +182,10 @@ public class RandomUtil {
/**
* 获得指定范围内的随机数
- *
- * @param min 最小数(包含)
- * @param max 最大数(不包含)
- * @param scale 保留小数位数
+ *
+ * @param min 最小数(包含)
+ * @param max 最大数(不包含)
+ * @param scale 保留小数位数
* @param roundingMode 保留小数的模式 {@link RoundingMode}
* @return 随机数
* @since 4.0.8
@@ -191,7 +196,7 @@ public class RandomUtil {
/**
* 获得随机数[0, 1)
- *
+ *
* @return 随机数
* @since 3.3.0
*/
@@ -201,8 +206,8 @@ public class RandomUtil {
/**
* 获得指定范围内的随机数
- *
- * @param scale 保留小数位数
+ *
+ * @param scale 保留小数位数
* @param roundingMode 保留小数的模式 {@link RoundingMode}
* @return 随机数
* @since 4.0.8
@@ -213,7 +218,7 @@ public class RandomUtil {
/**
* 获得指定范围内的随机数 [0,limit)
- *
+ *
* @param limit 限制随机数的范围,不包括这个数
* @return 随机数
* @since 3.3.0
@@ -224,9 +229,9 @@ public class RandomUtil {
/**
* 获得指定范围内的随机数
- *
- * @param limit 限制随机数的范围,不包括这个数
- * @param scale 保留小数位数
+ *
+ * @param limit 限制随机数的范围,不包括这个数
+ * @param scale 保留小数位数
* @param roundingMode 保留小数的模式 {@link RoundingMode}
* @return 随机数
* @since 4.0.8
@@ -237,7 +242,7 @@ public class RandomUtil {
/**
* 获得指定范围内的随机数[0, 1)
- *
+ *
* @return 随机数
* @since 4.0.9
*/
@@ -247,7 +252,7 @@ public class RandomUtil {
/**
* 获得指定范围内的随机数 [0,limit)
- *
+ *
* @param limit 最大数(不包含)
* @return 随机数
* @since 4.0.9
@@ -258,7 +263,7 @@ public class RandomUtil {
/**
* 获得指定范围内的随机数
- *
+ *
* @param min 最小数(包含)
* @param max 最大数(不包含)
* @return 随机数
@@ -270,7 +275,7 @@ public class RandomUtil {
/**
* 随机bytes
- *
+ *
* @param length 长度
* @return bytes
*/
@@ -282,8 +287,8 @@ public class RandomUtil {
/**
* 随机获得列表中的元素
- *
- * @param