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();
    }
}

运行结果:

相关推荐
狼爷16 小时前
吃透 Java Function 接口,搞定 99% 的 Stream 场景
java·函数式编程
祎雪双十Gy20 小时前
从 DataX 的配置加载说起:我用 FastJson2 做了一个轻量级动态配置管理库
java·后端
小锋java123420 小时前
分享一套锋哥原创的SpringBoot4+Vue3宠物领养网站系统
java
考虑考虑1 天前
Java实现hmacsha1加密算法
java·后端·java ee
掉鱼的猫1 天前
Spring Boot → Solon 注解迁移实战指南:一张对照表说清楚
java·spring boot
plainGeekDev1 天前
广播接收器 → Flow + Lifecycle
android·java·kotlin
plainGeekDev1 天前
EventBus → SharedFlow
android·java·kotlin
带刺的坐椅1 天前
Spring Boot → Solon 注解迁移实战指南:一张对照表说清楚
java·springboot·web·solon
用户3721574261351 天前
Java 将一个 PPT 文档拆分为多个文件
java
人活一口气2 天前
Spring Boot与AIGC的完美结合:从零搭建智能内容生成平台
java·spring boot·aigc