一、实践
1、使用Math下的random方法,生成纯数字
代码语言:javascript复制1 // 从50到100的随机数
2 int j = (int) (Math.random() * 50) 50;
3 System.out.println(j);
4 // Random对象产生随机数
5 Random random = new Random();// 默认构造方法
6 // 获取0-100之间的int整数
7 int i2 = random.nextInt(1000000);
8 System.out.println(i2); // 442565
2、 通过System.currentTimeMillis()取得需要的位数(纯数字位)
代码语言:javascript复制 1 final long l = System.currentTimeMillis();
2 // 获取0-100之间的随机整数
3 System.currentTimeMillis();
4 final int k1 = (int) (l % 100);
5 // 获取0-10000之间的随机整数(4位)
6 final int k2 = (int) (l % 10000);
7 System.out.println(k2); // 9493
8 // 获取0-1000000之间的随机整数(6位)
9 final int k3 = (int) (l % 1000000);
10 System.out.println(k3); //239493
3、 通过long取得需要的位数(纯数字位)
代码语言:javascript复制1 Random random = new Random();
2 // get random long value
3 long ll = random.nextLong();
4 System.out.println(Math.abs(ll % 1000000));//775416
4、得到固定位数的密码随机数,固定位数的验证码
代码语言:javascript复制 1 /*
2 * 得到固定位数的密码随机数,固定位数的验证码。
3 * pwd_len 生成的密码总长度
4 */
5 public static String getRandomNum(int pwd_len) {
6 //如果把所有数字和字母小写写入str,这儿为36;
7 final int maxNum = 6;
8 int i6;//生成的随机数
9 int count=0;//生成密码的长度
10 char[] str= {'a','b','c','0','1','2'};//26个字母和10个数字
11
12
13 StringBuffer pwd=new StringBuffer();
14 Random r=new Random();
15 while(count<pwd_len) {
16 //生成随机数,取绝对值,防止生成负数
17 i6=Math.abs(r.nextInt(maxNum));//生成的最大数为36-1
18 if(i6>=0&&i6<str.length) {
19 pwd.append(str[i6]);
20 count ;
21 }
22 }
23 return pwd.toString();
24 }
二、总结
以上就是java中java实现随机验证码的多种方式的内容,希望能够帮到大家