随机生成固定长度的验证码–纯数字,代码如下:
/**
* 随机生成固定长度的数字验证码
*
* @param size 随机数位数
* @return 随机字符串
*/
public static String getRandomNumber(int size) {
char[] c = {'1', '2', '3', '4', '5', '6', '7', '8', '9', '0'};
SecureRandom random = new SecureRandom();
StringBuilder builder = new StringBuilder(size);
for (int i = 0; i < size; i++) {
builder.append(c[Math.abs(random.nextInt()) % c.length]);
}
return builder.toString();
}
public static void main(String[] args) {
for (int i = 0; i < 5; i++) {
String randomNumber = getRandomNumber(4);
System.out.println("四位验证码: "+randomNumber);
}
}
打印结果:
生成数字+字母混合的随机验证码,代码如下:
/**
* 生成随机数
*
* @param count 要生成的随机数位数
* @return 随机数字符串
*/
public static String getRandomNumberAndLetters(int count) {
String[] nums = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "J", "H", "I", "J", "K", "L", "M", "N"};
int maxIndex = nums.length - 1;
int numIndex;
StringBuilder builder = new StringBuilder(count);
for (int i = 0; i < count; i++) {
numIndex = (int) (Math.random() * maxIndex);
builder.append(nums[numIndex]);
}
return builder.toString();
}
public static void main(String[] args) {
for (int i = 0; i < 5; i++) {
String randomString = getRandomNumberAndLetters(4);
System.out.println("数字字母混合验证码: "+randomString);
}
}
打印结果: