明天的明天 永远的永远 未知的一切 我与你一起承担 ??

是非成败转头空 青山依旧在 几度夕阳红 。。。
  博客园  :: 首页  :: 管理

JAVA 生成验证码的两种方法

Posted on 2023-03-14 11:01  且行且思  阅读(1050)  评论(0编辑  收藏  举报

一、Random随机生成数方法生成验证码

package String类常用API;
 
import java.util.ArrayList;
import java.util.Random;
 
public class 验证码的几种生成方法 {
    public static void main(String[] args) {
        //1,用随机生成数方法,生成验证码
        Random yzm = new Random();                          //定义一个随机生成数技术,用来生成随机数
 
        String yzm2 = "";                                   //定义一个空的Atring变量用来接收生成的验证码
 
        for (int i = 0; i < 5; i++) {                       //循环5次每次生成一位,5位验证码
 
        int a = yzm.nextInt(3);                             //验证码包括数字、大小写字母组成
        switch(a){                                          //a:    2       1       0
            case 0:                                         //      数字   小写字母   大写字母
                char s=(char)(yzm.nextInt(26)+65);
                yzm2 = yzm2 + s;
                break;
            case 1:
                char s1=(char)(yzm.nextInt(26)+97);
                yzm2 = yzm2 + s1;
                break;
            case 2:
                int s2=yzm.nextInt(10);
                yzm2 = yzm2 + s2;
                break;
        }
        }
        System.out.println("用随机生成数方法,生成的验证码:"+yzm2);
}
}

 

二、用String常用API-charAit生成验证码

package String类常用API;
 
import java.util.ArrayList;
import java.util.Random;
 
public class 验证码的几种生成方法 {
    public static void main(String[] args) {
        Random yzm = new Random();                          //定义一个随机生成数技术,用来生成随机数
//2,用String常用API-charAit生成验证码
        String yzm1 = "1234567890abcdefghijklmnopqrstuvwxwzABCDEFGHIJKLMNOPQRSTUVWXYZ";//定义一个String变量存放需要的数据,一共58位
        String yzm3 = "";//定义一个空的Atring变量用来接收生成的验证码
        for (int i = 0; i < 5; i++) {
            int a = yzm.nextInt(58);//随机生成0-57之间的数,提供索引位置
            yzm3+=yzm1.charAt(a);//用get 和提供的索引找到相应位置的数据给变量
        }
        System.out.println("用String常用API-charAit生成的验证码为:"+yzm3);
 
 
    }
}