生成6位纯数字验证码的三种方式
import java.util.Random;/*** @author lishengchen* @version 1.0* @Date 2020/11/26*/
public class Test5 {public static void main(String[] args) {/*** 生成6位的短信验证码* 那种效率高*/int sum = 1000000;//方案一 通过随机数--->字符串,然后截取的方式long start = System.currentTimeMillis();
// int count = 0;for (int i = 0; i < sum; i++) {String code = (Math.random() + "").substring(2, 8);
// if(code.startsWith("0")){// count++;
// }}
// System.out.println("startsWith0 count:"+count);long end = System.currentTimeMillis();System.out.println("方案一"+(end - start));//方案二 通过int类型直接组装然后转成字符串long start2 = System.currentTimeMillis();for (int i = 0; i < sum; i++) {String code = String.valueOf((int)((Math.random()*9+1)*Math.pow(10,5)));/*if(code.startsWith("0")){System.out.println(code);}*/}long end2 = System.currentTimeMillis();System.out.println("方案二"+(end2 - start2));//方案三long start3 = System.currentTimeMillis();for (int i = 0; i < sum; i++) {String code = String.valueOf(new Random().nextInt(900000) + 100000);/*if (code.startsWith("0"))System.out.println(code);*/}long end3 = System.currentTimeMillis();System.out.println("方案三"+(end3 - start3));}
}
结论:方案一是 通过随机数—>字符串,然后通过字符串的截取方式,而方案二和方案三都是直接操作基本数据类型,最后转成字符串的,所以方案二和方案三效率更优,但是通过方案一是可以生产0开头的6位纯数字验证码,而方案二三都没有以0开头的,在没有特殊要求的情况下方案二三是可以用的,效率是方案一的5-10倍左右;
生成6位纯数字验证码的三种方式相关推荐
- Java 生成6位纯数字验证码 发短信验证码处使用
@Testpublic void randomCodeTest() {Random random = new Random();for (int i = 0; i < 10000; i++) { ...
- mysql生成18位纯数字id_MySQL实现注册时随机生成数字id,类似于注册qq时随机生成qq号...
首先根据长度需求通过java的随机函数java.util.Random生成随机数,如希望得到5位随机id,则可以使用如下语句 int r = (new Random()).nextInt()%8999 ...
- UUID生成10位纯数字
public static void main(String[] args) {int hashCode = java.util.UUID.randomUUID().toString().hashCo ...
- 8-20位大小写数字特殊符号三种及三种以上
^(?![A-Za-z]+$)(?![A-Z\\d]+$)(?![A-Z\\W]+$)(?![a-z\\d]+$)(?![a-z\\W]+$)(?![\\d\\W]+$)\\S{8,20}$ /^(? ...
- spring boot 生成初始和销毁对象方法的三种方式
配置文件 //注解类 @Configuration public class Config { //初始化提示和销毁提示 one :通过实现接口方法 @Beanpublic Cat createCat ...
- php生成10万个字符串,有什么好的方法可以生成十万条不重复的13位纯数字字符串...
有什么好的方法可以生成十万条不重复的13位纯数字字符串 回复内容: 有什么好的方法可以生成十万条不重复的13位纯数字字符串 一个个来.从13个0开始,一次加1... 可用时间戳来生成,或者后面再加随机 ...
- java 随机16位随机数字_随机生成防猜不重复的16位纯数字序列号【快速且高性能】...
16位纯数字,组合起来是多少个呢?很难一口说出准确数字. 2位纯数字,组合起来是多少个呢? 10*10 = 100个 3位纯数字,组合起来是多少个呢? 10*10*10 = 1000个 因为每个数字都 ...
- 生成x位随机数字密码、验证码、字符密码
1.生成x位随机数字密码public String getRandomNum (int length){String num = "";for (int i=0;i<leng ...
- java生成验证码的三种方法
java生成验证码的三种方法 第一种:导入jar包com.github.axet生成法 ①导包 <dependency><groupId>com.github.axet< ...
最新文章
- python 画折线图怎么控制x轴间隔_如何在折线图的分类轴(xaxis)上指定标签之间的间隔?...
- iPad导入Mac:非常快!一气呵成,直接去photo里面选择,之后左上角倒出就好,颠覆之前windows上面的认知!
- C# 网站静态页面生成器 for 多线程版
- 【蓝桥杯Java_C组·从零开始卷】第三节、while循环do while循环for循环(超重点)break终止循环continue结束本次循环
- [当人工智能遇上安全] 6.基于机器学习的入侵检测和攻击识别——以KDD CUP99数据集为例
- 消息中间件系列(七):如何从0到1设计一个消息队列中间件
- Log4j的应用实例
- 高级技巧之使用定时任务
- 小程序引发的深层思考
- php项目源码发布linux,php代码上传到linux服务器无法正常显示
- linux内核阻塞IO
- 计算机主板光驱插口,如何查看笔记本光驱位和主板的SATA接口版本
- jtopo 实现一键布局
- window计算机桌面的组成,windows的桌面包括哪些组成部分
- TCP/IP 系列之你真的知道什么叫做IP吗?
- 目标检测YOLO实战应用案例100讲-基于深度学习的显著性目标检测研究与应用(论文篇)
- 中国智能电饭煲行业市场供需与战略研究报告
- Navicat怎样导入Excel表格和txt文本的数据
- 定义一个时间类Time,能提供和设置由时、分、秒组成的时间,并编出应用程序,定义时间对象,设置时间,输出该对象提供的时间。
- svg实现多个元素拖拽
热门文章
- 河南省南阳市谷歌高清卫星地图下载
- 吃瓜(西瓜书-南瓜书)1、2章
- 网页实现文件打包下载
- SSM+jsp实现医院住院管理系统(已开源)
- 一步步展示如何用C#和ACCESS编写一个登录界面
- ...\WEB-INF\lib\classmate-1.3.4.jar (系统找不到指定的文件。)
- ATOM编辑器下载及使用
- c语言arc函数带几个参数,ARC的使用简要总结
- ACREL-5000能耗管理系统在田阳县人民医院的应用
- 金融科技大数据产品推荐: 换汇API/海外支付API——让跨境支付更简单