一种简单地生成随机验证码的方法:
public class RandomUtils {private static ThreadLocalRandom getRandom() {return ThreadLocalRandom.current();}/*** 获得一个[0,max)之间的随机整数。* @param max 最大值(不包括)* @return 一个[0,max)之间的随机整数*/public static int getRandomInt(int max) {return getRandom().nextInt(max);}/*** 生成一个含有n位随机数字的字符串,用于验证码等* @param n 位数* @return 含有n位数字的一个String*/public static String getRandNumberStr(int n) {StringBuilder s = new StringBuilder(n);for (int i = 0; i < n; i++) {s.append(getRandomInt(10)); //随机获取一个0~9之间的数}return s.toString();}public static void main(String[] args) throws Exception {System.out.println(getRandNumberStr(6));System.out.println(getRandNumberStr(5));System.out.println(getRandNumberStr(4));System.out.println(getRandNumberStr(10));}}
测试结果:
1243883255746757343852352