一种简单地生成随机验证码的方法:
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)); } } 测试结果: 124388 32557 4675 7343852352