前言
因为我最近在用vue写项目,在登录和注册模块的时候,我想用手机验证码,方便大家注册,但是用阿里云的时候,需要一个code,于是我就自己写了一个code,思路也很简单。
如果大家想做整个,登录和验证,前端和后端(包括从服务商那开始申请到部署使用的一套流程)
请在我的博客中搜索vue,就能看到了
思路:可选的数字从0-9以及字母A-Z中,随机生成一个5位数的验证码。
由于这个很简单,所以思路基本就是,需求。
代码如下,我做了详细的注释,也照顾一下新手,因为我在几年前读大学的时候,老师教的就很不清楚,我也不是那种一点就通,就能先行跨越理解的人,所以尽量照顾一下后来的同学。
代码
package com.test;
import java.util.Random;
public static void main(String[] args_) throws Exception {
Random random = new Random();
int num=5;//生成几位的验证码,可自己定义
//加字母和随机数装入集合,原始随机字符串,可自己定义
String strSource="0123456789QWERTYUIOPASDFGHJKLZXCVBNM";
int maxLength=strSource.length()-1;//随机的索引最大程度,因为索引从0开始,所以最大值的索引 是长度-1
String[] strSources = strSource.split("");//切分字符串为可选的字符数组,用于索引选取
//最终的验证码进行拼接,stringBuffer只创建一个对象节省内存,并且速度快,这个场景不需要线程安全
StringBuffer appendStrEnd = new StringBuffer();
for (int i = 0; i < num; i++) {
int suijiIndex = random.nextInt(maxLength);//生成索引,索引位你的原始字符串中的一个字符的位置
String strAlone = strSources[suijiIndex];//获取字符串中的单个字符值
appendStrEnd.append(strAlone);
}
System.out.println(appendStrEnd);
}