java生成随机验证码(ASCII)
来源:互联网 发布:淘宝助理批量导出图片 编辑:程序博客网 时间:2024/06/11 04:47
最近做的一些东西,在做请求时,要伪造一些随机码,所以就写了个方法,网上实现也比较多,这里只是提供自己的这个相对来说比较简单,主要是看实现思路,主要是利用java的 Random类
1. 只生成数字验证码
因为是用于验证码,所以首位为0也是可以的,单纯的用random.nextInt(4位数)这种形式是无法生成首位为0的验证码的
/** * 获取几位随机数
* @author 郑明亮 * @param number * @return */public static String getRandomNumCode(int number){ String codeNum = ""; int [] numbers = {0,1,2,3,4,5,6,7,8,9}; Random random = new Random(); for (int i = 0; i < number; i++) { int next = random.nextInt(10000);//目的是产生足够随机的数,避免产生的数字重复率高的问题// System.out.println(next);codeNum+=numbers[next%10];} System.out.println("--------"); System.out.println(codeNum); return codeNum; }
2. 生成带数字、大小写字母的验证码
这的实现思路主要是先生成数字、大写字母、小写字母的ASCII值,然后将其转换成char放到一个数组中,然后从这数组中随机取一个,这样避免产生的随机码中均包含这三种的情况
/** * 生成随机码值,包含数字、大小写字母 * @author 郑明亮 * @param number 生成的随机码位数 * @return */public static String getRandomCode(int number){String codeNum = "";int [] code = new int[3];Random random = new Random();for (int i = 0; i < number; i++) {int num = random.nextInt(10) + 48;int uppercase = random.nextInt(26) + 65;int lowercase = random.nextInt(26) + 97;code[0] = num;code[1] = uppercase;code[2] = lowercase;codeNum+=(char)code[random.nextInt(3)];}System.out.println(codeNum);return codeNum;}
阅读全文
1 0
- java生成随机验证码(ASCII)
- Java 生成随机验证码
- java生成随机验证码
- Java随机生成验证码
- java生成随机验证码
- java随机生成验证码
- Java生成随机验证码
- Java生成随机验证码
- java生成随机验证码
- Java随机生成验证码
- Java生成随机验证码
- Java生成验证码、随机生成验证码
- (java)简单的生成随机验证码
- java随机验证码的生成
- java随机生成动态验证码
- Java随机生成动态验证码
- Java的随机验证码生成类
- Java随机生成验证码图片
- vs的debug和release版本的区别
- 2017 滴滴校招编程
- 第7章 DNS & bind从基础到深入
- Spring的各种包的用处
- 并发运行时与其他并发模型进行比较
- java生成随机验证码(ASCII)
- MFC源码分析(序)
- Deep learning in graph clustering 论文两篇
- Python实现数组逆向输出
- poj-2377-Bad Cowtractors--(最小生成树Kruskal)
- SpringBoot之Controller(B)
- js与C#进行时间戳转换
- Glide使用详解
- tar.xz文件如何解压