forked from plusone/plusone-commons
完成 RandomTools 单元测试
This commit is contained in:
@@ -16,6 +16,7 @@
|
||||
|
||||
package xyz.zhouxy.plusone.commons.util;
|
||||
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.security.SecureRandom;
|
||||
import java.util.Objects;
|
||||
import java.util.Random;
|
||||
@@ -23,14 +24,40 @@ import java.util.concurrent.ThreadLocalRandom;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
/**
|
||||
* 随机工具类
|
||||
* <p>
|
||||
* 建议调用方自行维护 Random 对象
|
||||
* </p>
|
||||
* @author <a href="http://zhouxy.xyz:3000/ZhouXY108}">ZhouXY</a>
|
||||
*/
|
||||
public final class RandomTools {
|
||||
|
||||
public static final SecureRandom DEFAULT_SECURE_RANDOM = new SecureRandom();
|
||||
private static final SecureRandom DEFAULT_SECURE_RANDOM;
|
||||
|
||||
static {
|
||||
SecureRandom secureRandom = null;
|
||||
try {
|
||||
secureRandom = SecureRandom.getInstanceStrong(); // 获取高强度安全随机数生成器
|
||||
}
|
||||
catch (NoSuchAlgorithmException e) {
|
||||
secureRandom = new SecureRandom(); // 获取普通的安全随机数生成器
|
||||
}
|
||||
DEFAULT_SECURE_RANDOM = secureRandom;
|
||||
}
|
||||
|
||||
public static final String CAPITAL_LETTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
||||
public static final String LOWERCASE_LETTERS = "abcdefghijklmnopqrstuvwxyz";
|
||||
public static final String NUMBERS = "0123456789";
|
||||
|
||||
public static SecureRandom defaultSecureRandom() {
|
||||
return DEFAULT_SECURE_RANDOM;
|
||||
}
|
||||
|
||||
public static ThreadLocalRandom currentThreadLocalRandom() {
|
||||
return ThreadLocalRandom.current();
|
||||
}
|
||||
|
||||
/**
|
||||
* 使用传入的随机数生成器,生成指定长度的字符串
|
||||
*
|
||||
|
Reference in New Issue
Block a user