前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java实现随机验证码的多种方式

java实现随机验证码的多种方式

作者头像
jiankang666
发布2022-05-12 21:45:58
1.1K0
发布2022-05-12 21:45:58
举报
文章被收录于专栏:java基础笔记java基础笔记

一、实践

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实现随机验证码的多种方式的内容,希望能够帮到大家

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-11-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 java基础笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、实践
  • 二、总结
相关产品与服务
验证码
腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档