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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
优雅的避坑-从验证码功能代码优化到JVM栈和堆
实际业务中用验证码进行登录、注册等场景非常普遍,基本上现在的应用都会有这个功能,Java中已为我们提供了Math.random()以及Random类。
行百里er
2020/12/02
4600
优雅的避坑-从验证码功能代码优化到JVM栈和堆
Java 随机数
广义上讲,Java中的随机数的有三种产生方式: (01). 通过System.currentTimeMillis()来获取一个当前时间毫秒数的long型数字。 (02). 通过Math.random()返回一个0到1之间的double值。 (03). 通过Random类来产生一个随机数,这个是专业的Random工具类,功能强大。
全栈程序员站长
2022/09/19
1.2K0
Java随机数算法(一)(r11笔记第14天)
问:如何生成一个随机的字符串?答:让新手退出VIM 。 这可能也是随机字符的一种由来:) 我们今天要说的是随机数算法,这个我策划了好久,但是进展缓慢。 生成一个随机数看起来很简单,一直以来却深知它的不易,怎么让一个确定的值得到一个不确定的值,这个想起来都有点困难,而且这部分内容,自己也花了些时间去看Java源码,结果发现远比自己琢磨的要复杂的多,加上也有些日子没写过Java代码,可谓是困难重重,写了一小部分的总结发现,竟然有很多不大理解的地方。带着问题竟然找到一篇文章说得非常全面,索性就拿过来了
jeanron100
2018/03/21
1.7K0
Java随机数算法(一)(r11笔记第14天)
Java产生随机数
  每一门程序设计语言基本都具有一个随机函数,而Java当中产生随机数的方式不拘一格。而且其中的Random工具类还有着更深入的应用,但本文仅对比3种产生随机数的方式,就不深入扩展分析其内部工具类了。
云海谷天
2022/08/09
1.1K0
Java中生成随机数的4种方式!
在 Java 中,生成随机数的场景有很多,所以本文我们就来盘点一下 4 种生成随机数的方式,以及它们之间的区别和每种生成方式所对应的场景。
磊哥
2021/06/17
19.4K0
Java中生成随机数的4种方式!
java 唯一随机数_JAVA随机数
①Math.random(): 获取随机小数范围:[0.0,1.0) 返回的值是double类型
全栈程序员站长
2022/09/17
3.4K0
产生随机数算法[通俗易懂]
两个办法帮你解决如何在Java中产生随机数   随机数在日常的应用和开发中经常会见到,比如说某些系统会为用户生成一个最初的初始化密码,这就是一个随机数。如何生成这个随机数,不同的开发工具的方法也不一样。在应用中,Java是应用最为广泛的开发工具之一,如何在Java中产生随机数,也是很多开发者在初学随机数时的一个必修课,在此为读者贡献两个办法帮你解决如何在Java中产生随机数。
全栈程序员站长
2022/09/17
2.4K0
UUID随机验证码
JokerDJ
2023/11/27
2060
java 设置随机数种子_java随机数种子怎么设置[通俗易懂]
引导语:Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。以下是小编整理的java随机数种子怎么设置,欢迎参考阅读!
全栈程序员站长
2022/09/15
1.8K0
账号 & 验证码生成代码
特殊说明: 解决问题的光鲜,藏着磕Bug的痛苦。 万物皆入轮回,谁也躲不掉! 以上文章,均是我实际操作,写出来的笔记资料,不会出现全文盗用别人文章!烦请各位,请勿直接盗用!
收心
2022/01/19
1.6K0
Java编程 经验技巧汇总
可参考https://blog.csdn.net/qq_37591637/article/details/90319229
cutercorley
2020/07/23
4160
【Java】深入理解Java随机数
java.lang.Math 类里有一个私有静态内部类,内有一个静态的 java.util.Random 类对象,调用其 nextDouble() 方法,生成 [0.0, 1.0) 范围内的伪随机浮点数。
全栈程序员站长
2022/09/17
1.3K0
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的三种随机数生成方式
随机数的产生在一些代码中很常用,也是我们必须要掌握的。而java中产生随机数的方法主要有三种:
崔笑颜
2020/06/08
9430
Java-常用类
哈喽!大家好,我是小简。今天开始学习《Java-常用类》,此系列是我做的一个 “Java 从 0 到 1 ” 实验,给自己一年左右时间,按照我自己总结的 Java-学习路线,从 0 开始学 Java 知识,并不定期更新所学笔记,期待一年后的蜕变吧!
小简
2023/01/04
4070
Java-常用类
验证码生成 工具类 & Random 用法
场景,需要做个验证码 生成器,不需要图片。只能自己做一个,虽然网站有很多,自己写的,自己用着舒服。可能性能没别人好,但是可以借着做一篇 调优篇。
收心
2022/01/17
3700
验证码生成 工具类 & Random 用法
java平均的随机数_Java 随机数详解「建议收藏」
Java随机数的产生方法有2种,一种是Math.random()方法,一种是Random类。
全栈程序员站长
2022/09/14
1.5K0
Java获取随机数的3种方法
方法1  (数据类型)(最小值+Math.random()*(最大值-最小值+1)) 例:
ydymz
2018/09/10
4.1K0
Java 常用类
String a="hello"+"abc";//==>优化等价 String a="helloabc";
用户9615083
2022/12/25
6680
Java 常用类
在游戏中,爆出神装是真随机还是假随机?
周末,陪女朋友去电影院看了《复仇者联盟4:终局之战》,作为一个漫威粉三个小时看的是意犹未尽。出来之后,准备和女朋友聊一聊漫威这十年。
Java3y
2019/05/15
1.1K0
在游戏中,爆出神装是真随机还是假随机?
相关推荐
优雅的避坑-从验证码功能代码优化到JVM栈和堆
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档