生成固定长度的随机验证码
随机生成固定长度的验证码–纯数字,代码如下:
/**
* 随机生成固定长度的数字验证码
*
* @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);
}
}
打印结果:
