Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >java实现随机验证码的多种方式

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

作者头像
jiankang666
发布于 2022-05-12 13:45:58
发布于 2022-05-12 13:45:58
1.3K04
代码可运行
举报
文章被收录于专栏:java基础笔记java基础笔记
运行总次数:4
代码可运行

一、实践

1、使用Math下的random方法,生成纯数字

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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
代码运行次数:0
运行
AI代码解释
复制
 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
代码运行次数:0
运行
AI代码解释
复制
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
代码运行次数:0
运行
AI代码解释
复制
 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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
java的三种随机数生成方式
随机数的产生在一些代码中很常用,也是我们必须要掌握的。而java中产生随机数的方法主要有三种:
崔笑颜
2020/06/08
9240
优雅的避坑-从验证码功能代码优化到JVM栈和堆
实际业务中用验证码进行登录、注册等场景非常普遍,基本上现在的应用都会有这个功能,Java中已为我们提供了Math.random()以及Random类。
行百里er
2020/12/02
4430
优雅的避坑-从验证码功能代码优化到JVM栈和堆
验证码生成 工具类 & Random 用法
场景,需要做个验证码 生成器,不需要图片。只能自己做一个,虽然网站有很多,自己写的,自己用着舒服。可能性能没别人好,但是可以借着做一篇 调优篇。
收心
2022/01/17
3420
验证码生成 工具类 & Random 用法
十一、JavaSE进阶之其他常用类(日期类,数字化格式类)。
日期类在java.util包下,使用时必须导包。(除java.lang包之外其他的都要导包)
百思不得小赵
2022/12/01
4200
十一、JavaSE进阶之其他常用类(日期类,数字化格式类)。
Java实现验证码功能实例
Java如何实现验证码验证功能呢?日常生活中,验证码随处可见,他可以在一定程度上保护账号安全,那么他是怎么实现的呢?
Java团长
2018/08/06
1.5K0
UUID随机验证码
JokerDJ
2023/11/27
1910
java生成随机数方法大全(可指定范围、分布方式、类型、种子)
import java.util.Random; /** Java实用工具类库中的类java.util.Random提供了产生各种类型随机数的方法。 它可以产生int、long、float、double以及Goussian等类型的随机数。 java.lang.Math中的方法random()只产生double型的随机数。 */ public class RandomNumber { public static void main(String[] args) { // 使用java.lang.Mat
代码伴一生
2021/09/22
2K0
Java 常用类
String a="hello"+"abc";//==>优化等价 String a="helloabc";
用户9615083
2022/12/25
6500
Java 常用类
Java 中产生随机数的方法小结
在 Java 中提供了很多的方法能够产生随机数。我们今天介绍其中最为简单的两种,对于初学者来说较为友好,同时附了两个简单的案例供大家参考。
白鹿第一帅
2021/03/02
6290
Java 中产生随机数的方法小结
Java-常用类
哈喽!大家好,我是小简。今天开始学习《Java-常用类》,此系列是我做的一个 “Java 从 0 到 1 ” 实验,给自己一年左右时间,按照我自己总结的 Java-学习路线,从 0 开始学 Java 知识,并不定期更新所学笔记,期待一年后的蜕变吧!
小简
2023/01/04
3980
Java-常用类
Java编程 经验技巧汇总
可参考https://blog.csdn.net/qq_37591637/article/details/90319229
cutercorley
2020/07/23
3990
Java获取随机数的3种方法
方法1  (数据类型)(最小值+Math.random()*(最大值-最小值+1)) 例:
ydymz
2018/09/10
4.1K0
Java 随机数
广义上讲,Java中的随机数的有三种产生方式: (01). 通过System.currentTimeMillis()来获取一个当前时间毫秒数的long型数字。 (02). 通过Math.random()返回一个0到1之间的double值。 (03). 通过Random类来产生一个随机数,这个是专业的Random工具类,功能强大。
全栈程序员站长
2022/09/19
1.2K0
BitSet处理海量数据
如果你对数据结构的"位图"比较熟悉,那么BitSet就很好理解了。位图定义了数据的存在性可以用bit位上的1和0来表示,一个bit有两个值,0或1。而BitSet正是因为采用这种数据结构,在判断“数据是否存在”的场景会经常出现。
每天学Java
2020/06/02
1.6K0
Java常用类应用详解
可以通过图查询到其含有的字段和方法,jump to source 可以查看到源码。
timerring
2023/05/01
5030
Java常用类应用详解
C#生成随机验证码
使用YZMHelper帮助类即可 using System; using System.Web; using System.Drawing; using System.Security.Cryptography; namespace ProjectWenDangManage.Framework { /// <summary> /// 验证码类 /// </summary> public class Rand { #region 生成随机数字
易墨
2018/09/14
1.4K0
Java中生成随机数的4种方式!
在 Java 中,生成随机数的场景有很多,所以本文我们就来盘点一下 4 种生成随机数的方式,以及它们之间的区别和每种生成方式所对应的场景。
磊哥
2021/06/17
19.3K0
Java中生成随机数的4种方式!
Java产生随机数
  每一门程序设计语言基本都具有一个随机函数,而Java当中产生随机数的方式不拘一格。而且其中的Random工具类还有着更深入的应用,但本文仅对比3种产生随机数的方式,就不深入扩展分析其内部工具类了。
云海谷天
2022/08/09
1.1K0
Java学习笔记--常用类及其常用方法、JDK5新特性、正则表达式介绍
object类String类其他类常用方法StringBuffer类JDK5新特性正则表达式Random类其他类常用方法Calendar类
用户7886150
2020/12/12
5800
账号 & 验证码生成代码
特殊说明: 解决问题的光鲜,藏着磕Bug的痛苦。 万物皆入轮回,谁也躲不掉! 以上文章,均是我实际操作,写出来的笔记资料,不会出现全文盗用别人文章!烦请各位,请勿直接盗用!
收心
2022/01/19
1.5K0
相关推荐
java的三种随机数生成方式
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档