实现随机验证码

Java实现随机验证码的生成

随机验证码:

法一:普通方法

核心逻辑:

  • 1.定义一个String类型的变量存储验证码字符。
  • 2.定义一个for循环,循环n次(n为验证码的所需要字符的个数)。
  • 3.随机生成三个数字依次表示:大写字母、小写字母、数字。并使用switch语句判断。
  • 4.把生成的数字给switch判断并生成对应的随机字符,把字符交给String变量。
  • 5.循环结束后,返回String类型的变量。

代码展示:


//1.定义一个方法返回一个随机验证码:String
public static String creatCode(int n) {

    //2.循环n次,依次生成随机字符
    String code = "";
    Random random = new Random();
    for (int i = 0; i < n; i++) {
        //3.生成一个随机字符:英文 大写 小写 数字(0 1 2)
        int type = random.nextInt(3);
        switch (type) {
            case 0:
                //大写 (65 ~ 65+25) = (0 ~ 25)+65
                char ch = (char) (random.nextInt(26) + 65);
                code += ch;
                break;
            case 1:
                //小写 (0 ~ 25) + 97
                char ch1 = (char) (random.nextInt(26) + 97);
                code += ch1;
                break;
            case 2:
                //数字
                code += random.nextInt(10); // 0 ~ 9
                break;
        }
    }
    return code;
}

法二:

核心逻辑:String类方法

  • 1.定义一个String类型变量存储a~z A~Z 0~9之间的全部字符。
  • 2.循环5次,随机一个范围内的索引,获取对应字符连接起来即可。

代码展示:

//1.定义可能出现的字符信息
        String data = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";

        //2.循环5次,每次生成一个随机的索引,提取对应的字符连接起来即可
        Random random = new Random();
        String code = "";
        for (int i = 0; i < 5; i++) {
            //随机一个索引
            int index = random.nextInt(data.length());
            char c = data.charAt(index);
            code += c;
        }
        //3.输出字符串变量
        System.out.println(code);

代码核心逻辑来自黑马案例

Original: https://www.cnblogs.com/zhangyouren/p/16401918.html
Author: Haziy
Title: 实现随机验证码

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/622479/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 普通 Docker 与 Kubernetes 对比

    Docker提供基本容器管理 API 和容器镜像文件格式Kubernetes 管理运行容器的(物理或虚拟)主机群集,如果 Docker 是 OCP 的”内核&#8221…

    数据库 2023年6月14日
    079
  • 分享我常用的一些JS验证和函数

    下面是我常用一些JS验证和…

    数据库 2023年6月9日
    087
  • 数据库设计的十个最佳实践

    数据库是应用及计算机的核心元素,负责存储运行软件应用所需的一切重要数据。为了保障应用正常运行,总有一个甚至多个数据库在默默运作。我们可以把数据库视为信息仓库,以结构化的方式存储了大…

    数据库 2023年5月24日
    0109
  • day02-MySQL基础知识

    MySQL基本知识 1.数据库 1.1.创建数据库 语法: CREATE DATABASE [IF NOT EXISTS] db_name [create_specificatio…

    数据库 2023年6月11日
    096
  • 量子物理

    今天刷了YouTube的量子物理了解到了量子物理的发展史从微观到相对论从原子核到量子纠缠何其快哉 物理学:经典物理,量子物理。经典物理:万有引力量子物理:相对论 Original:…

    数据库 2023年6月11日
    087
  • SpringMVC完整学习!!!

    1.楔子 1.1、了解MVC 1.2、MVC框架的主要功能 2.初识SpringMVC 2.1、为什么要学习SpringMVC 2.2、了解SpringMVC 3.入门项目初体验!…

    数据库 2023年6月16日
    088
  • Docker Maven构建缓存spring boot依赖包

    背景 每次通过 docker build ‘xxx’ 的时候,总是会去maven镜像下载一大堆Jar包,平均每次build都要在3分钟左右,效率非常低下,于…

    数据库 2023年6月6日
    0100
  • SFML学习之配置环境(VS2019)

    vs2019 SFML环境配置 主要就是两个地址和一个链接的设置 一切的源头都在官网:SFML官网:https://www.sfml-dev.org/download.php 下载…

    数据库 2023年6月11日
    077
  • kubectl 最新常用命令 –V1.24版本

    alias k=kubectl complete -F __start_kubectl k Kubectl 上下文和配置 kubectl config view # &#x…

    数据库 2023年6月14日
    075
  • MySQL 回表

    MySQL 回表 五花马,千金裘,呼儿将出换美酒,与尔同销万古愁。 一、简述 回表,顾名思义就是回到表中,也就是先通过普通索引扫描出数据所在的行,再通过行主键ID 取出索引中未包含…

    数据库 2023年6月14日
    082
  • 达梦数据库_DM8配置实时主备

    1、环境说明 准备三台机器DM_HD1、DM_HD11、DM_SH,DM_HD1和DM_HD11用来部署主备库,DM_SH用来部署确认监视器。其中DM_HD1和DM_HD11配置两…

    数据库 2023年6月11日
    0131
  • 2 Java中 == 和 equals 和 hashCode 的区别

    ==是一个比较运算符; 若比较的是基本数据类型,则比较的是值; 若比较的是引用数据类型,则比较的是它们在内存中的内存地址。 说明:对象是存放在堆中,栈中存放的是对象的引用,因此==…

    数据库 2023年6月6日
    0103
  • 正则表达式=Regex=regular expression

    正则表达式=Regex=regular expression 反向引用*2 \index索引引用 \b(\w+)\b\s+\1\b \k \b(? 数量符/限定符62 贪婪Gree…

    数据库 2023年6月15日
    071
  • 回溯法套路总结与应用

    概述 回溯法常用于遍历一个列表元素的所有所有子集,比如全排列问题。可以说深度优先搜索就是回溯法的一种特殊形式。该方法的时间复杂度比较大一般为O(N!),它不像动态规划存在重叠子问题…

    数据库 2023年6月11日
    091
  • Elasticsearch搜索引擎的使用

    当用户在搜索框输入关键字后,我们要为用户提供相关的搜索结果。 这种需求依赖数据库的模糊查询like关键字可以实现,但是like关键字的效率极低,而且查询需要在多个字段中进行,使用l…

    数据库 2023年6月14日
    0138
  • typora最后的免费版本

    需要的阿里云盘自取 「typora最后的免费版本」https://www.aliyundrive.com/s/p3Ci2gbgwYh点击链接保存,或者复制本段内容,打开「阿里云盘」…

    数据库 2023年6月6日
    087
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球