1. 程式人生 > >隨機驗證碼生成(生成一個含有n位隨機數字的字串)

隨機驗證碼生成(生成一個含有n位隨機數字的字串)

一種簡單地生成隨機驗證碼的方法:

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