简单生成验证码,自定义位数随机大小写字母数字生成
import java.util.Random;
public class a {
public static void main(String[] args) {
code(10);
}
public static void code(int n){
Random r=new Random();
for(int i=0;i<n;i++){
//几位数
int a=r.nextInt(3);
switch(a){
case 0://数字
int temp1=r.nextInt(10);
System.out.print(temp1);
break;
case 1://小写字母
char temp2 =(char)(r.nextInt(26)+97);
System.out.print(temp2);
break;
case 2://大写字母
char temp3 =(char)(r.nextInt(26)+65);
System.out.print(temp3);
break;
default://报错
System.out.print("出错了");
break;
}
}
}
}
修改格式(ai立大功。。)实现接受验证码长度参数的接口
package com.example.demo;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.Random;
@RestController
public class CaptchaController {
@GetMapping("/captcha")
public String generateCaptcha(
@RequestParam(defaultValue = "10") int length
) {
return generate(length);
}
public static String generate(int n) {
Random r = new Random();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < n; i++) {
int type = r.nextInt(3);
switch (type) {
case 0: // 数字
sb.append(r.nextInt(10));
break;
case 1: // 小写字母
sb.append((char) (r.nextInt(26) + 97));
break;
case 2: // 大写字母
sb.append((char) (r.nextInt(26) + 65));
break;
}
}
return "验证码: " + sb.toString();
}
}
按照以上结构创建文件在sprigboot框架下打包为jar包运行,调用api:
简单验证码生成