基本思想就是利用 Collections.shuffle()这个方法随机打乱list中内容的排序来生成随机验证码,当然出于需要可以更改随机打乱的序列内容来生成想要的随机码
Integer[] numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9}; //数字数字
List<String> lowLetter = Arrays.asList(getLowerLetters()); //小写字母的序列
Collections.shuffle(lowLetter); //随机打乱小写字母序列
code.append(lowLetter.get(0)); //将第一次放入结果中
code.append(String.valueOf(num.get(0)));
}
return code.toString(); // 这样我们生成了一个随机码,一个字母加上五个数字
}
public static String[] getLowerLetters(){
String[] letter = new String[26];
int i = 0;
char a = 'a';
for(a='a';a<='z';a++){
letter[i] = String.valueOf(a);
i++;
}
return letter;
}
public static String getCode(String username) {
StringBuilder code = new StringBuilder();Integer[] numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9}; //数字数字
List<String> lowLetter = Arrays.asList(getLowerLetters()); //小写字母的序列
Collections.shuffle(lowLetter); //随机打乱小写字母序列
code.append(lowLetter.get(0)); //将第一次放入结果中
for(int i = 0; i < 5; i++){ //循环五次,生成五位随机数字 ,并且放入结果中
List<Integer> num = Arrays.asList(numbers);
Collections.shuffle(num);code.append(String.valueOf(num.get(0)));
}
return code.toString(); // 这样我们生成了一个随机码,一个字母加上五个数字
}