java生成随机验证码
2015-10-08 22:08
429 查看
基本思想就是利用 Collections.shuffle()这个方法随机打乱list中内容的排序来生成随机验证码,当然出于需要可以更改随机打乱的序列内容来生成想要的随机码
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(); // 这样我们生成了一个随机码,一个字母加上五个数字
}
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(); // 这样我们生成了一个随机码,一个字母加上五个数字
}
相关文章推荐
- SAX和Dom解析XML的区别
- Java:调用构造器的具体处理步骤
- MyEclipse10.6 myeclipse2013下添加jadClipse反编译插件 .
- Spring学习(一)
- JAVA简单学习
- Java知识点总结
- Java并发编程:Callable、Future和FutureTask
- 在eclipse中集成SVN插件
- 大龄屌丝自学笔记--Java零基础到菜鸟--030
- JAVA语言规范和API网址
- LeetCode118 LeetCode119 LeetCode151 LeetCode202 Java
- Spring验证、数据绑定和类型转换
- Java 和Java虚拟机的关系
- java选择题
- Java体系结构简介
- Java中ArrayList内存分配问题
- 南阳oj A+BproblemII Java 解决 题目103
- spring中配置EventBus
- JAVA设计模式之工厂模式
- Java、JSP获得当前日期的年、月、日