java实现随机生成验证码

java 复制代码
import java.util.concurrent.ThreadLocalRandom;

/*
生成验证码的工具
可动态配置验证码长度
 */
public class CodeUtils {
    public static void main(String[] args) {
        //随机生成5个长度为4的验证码
        for (int i = 0; i < 5; i++) {
            System.out.println(CodeUtils.getCode(4));
        }
        for (int i = 0; i < 5; i++) {
            System.out.println(CodeUtils.getCode(6));
        }
    }
    public static String getCode(int len){
        //验证码生成范围
        String s = "0123456789abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
        char[] c = s.toCharArray();
        StringBuffer str = new StringBuffer("");
        ThreadLocalRandom current = ThreadLocalRandom.current();
        for (int i = 0; i < len; i++) {
            char code = c[current.nextInt(0,s.length())];
            str.append(code);
        }
        return str.toString();
    }
}

运行结果:

相关推荐
java1234_小锋16 小时前
Java高频面试题:Redis的Key和Value的设计原则有哪些?
java·redis·面试
iPadiPhone16 小时前
流量洪峰下的数据守护者:InnoDB MVCC 全实现深度解析
java·数据库·mysql·面试
Nuopiane16 小时前
关于C#/Unity中单例的探讨
java·jvm·c#
win x17 小时前
JVM类加载及双亲委派模型
java·jvm
毕设源码-赖学姐17 小时前
【开题答辩全过程】以 滑雪场租赁管理系统的设计与实现为例,包含答辩的问题和答案
java
MediaTea17 小时前
Python:collections.Counter 常用函数及应用
开发语言·python
Javatutouhouduan17 小时前
SpringBoot整合reids:JSON序列化文件夹操作实录
java·数据库·redis·html·springboot·java编程·java程序员
wen__xvn17 小时前
模拟题刷题3
java·数据结构·算法
bug攻城狮17 小时前
Spring Boot应用内存占用分析与优化
java·jvm·spring boot·后端