Java案例----生成随机验证码

这篇具有很好参考价值的文章主要介绍了Java案例----生成随机验证码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在登录中常常会需要用到验证码,那你知道如何生成随机的验证码码?

本次的需求是生成一个由字母和数字组成的验证码,其中字母可以大小写或者重复需占4为大小,数字为0-9中的任意一个,只占1位大小,但是数字的位置可以任何位置,主要思路就是将需要用到的元素存入数组当中,其次运用随机生成数的方式生成随机索引,在对应的数组中获得对应的数据,最后再将数据进行拼接,就可以得到我们需求的验证码了!具体实现如下:

1:生成52个字母,将其存入一个集合当中

public static char[] createAlpha(){
        char[] arr = new char[52];
        for (int i = 0; i < arr.length; i++) {
//当i小于26时,插入a-z
            if(i<26){
                arr[i] = (char)('a' + i);
            }
//当i大于26时,插入A-Z
            else
                arr[i] = (char)('A'+ i -26);
        }
        return arr;
    }

2.生成随机的数字 

 public static int createNum(){
//random的规则:包头不包尾,生成0-9的数字
        int x = r.nextInt(10);
        return x;
    }

3.生成随机索引,将上诉生成的数据进行拼接

    public static String createVatifaction(char[]arr,int num){
        String str = "";
        for (int i = 0; i < 4; i++) {
            int index = r.nextInt(arr.length);
            str += arr[index];
        }
        str += num;
        return str;
    }

4.因为数字能够为任何位置,所以定义一个打乱字符串的方法

public static String toRandom(String str){
        char[]arr = str.toCharArray();
        for (int i = 0; i < arr.length; i++) {
            char temp = ' ';
            int index = r.nextInt(arr.length);
            temp = arr[i];
            arr[i] = arr[index];
            arr[index] = temp;
        }
//        for (int i = 0; i < arr.length; i++) {
//            System.out.println(arr[i]);
//        }
        String newstr = new String(arr);
        return newstr;
    }

 5.编写测试类进行测试

 static Random r = new Random();
    public static void main(String[] args) {
        char[]arr = createAlpha();
        int num = createNum();
        String str = createVatifaction(arr,num);
        str = toRandom(str);
        System.out.println(str);
    }

 最后输入的就为题目所要求的验证码了,效果图如下:

Java案例----生成随机验证码

完整代码如下:文章来源地址https://www.toymoban.com/news/detail-514242.html

import java.util.Random;
public class vatifyCreate {
    static Random r = new Random();
    public static void main(String[] args) {
        char[]arr = createAlpha();
        int num = createNum();
        String str = createVatifaction(arr,num);
        str = toRandom(str);
        System.out.println(str);
    }
    public static char[] createAlpha(){
        char[] arr = new char[52];
        for (int i = 0; i < arr.length; i++) {
            if(i<26){
                arr[i] = (char)('a' + i);
            }
            else
                arr[i] = (char)('A'+ i -26);
        }
        return arr;
    }
    public static int createNum(){
        int x = r.nextInt(10);
        return x;
    }
    public static String createVatifaction(char[]arr,int num){
        String str = "";
        for (int i = 0; i < 4; i++) {
            int index = r.nextInt(arr.length);
            str += arr[index];
        }
        str += num;
        return str;
    }
    public static String toRandom(String str){
        char[]arr = str.toCharArray();
        for (int i = 0; i < arr.length; i++) {
            char temp = ' ';
            int index = r.nextInt(arr.length);
            temp = arr[i];
            arr[i] = arr[index];
            arr[index] = temp;
        }
//        for (int i = 0; i < arr.length; i++) {
//            System.out.println(arr[i]);
//        }
        String newstr = new String(arr);
        return newstr;
    }
}

到了这里,关于Java案例----生成随机验证码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 简单的随机乱码生成(验证码生成)| HTML

    想想自己也学了很久的前端的技术了,这两天在自己设计一个网站的时候,突然想到了登录验证码的这个东西,用了这个比较简单的随机码生成,大家如果有需要也可以用来参考。 代码展示(部分内容使用了jquery): HTML部分: CSS部分 JavaScript部分 效果展示: 关于这里为什

    2024年02月07日
    浏览(38)
  • 【论坛java项目】第二章 Spring Boot实践,开发社区登录模块:发送邮件、开发注册功能、会话管理、生成验证码、开发登录、退出功能、

    😀如果对你有帮助的话😊 🌺为博主点个赞吧 👍 👍点赞是对博主最大的鼓励😋 💓爱心发射~💓 bofryuzursekbiab——密码 访问邮箱域名 邮箱端口 账号 密码 协议 详细配置 JavaMailSender 是 Spring Email 的核心组件,负责发送邮件 MimeMessage 用于封装邮件的相关信息 MimeMessageHelper 用

    2024年02月06日
    浏览(53)
  • Pillow模块——生成随机验证码

    2024年02月03日
    浏览(43)
  • Python 生成随机图片验证码

    在写一个Web项目的时候一般要写登录操作,而为了安全起见,现在的登录功能都会加上输入图片验证码这一功能,在利用Django开发Web项目的过程中,可以使用 Python 生成一个如下所示的图片验证码: pillow详细内容参考官方文档:https://pillow.readthedocs.io/en/stable/?badge=latest pillow的

    2024年02月15日
    浏览(49)
  • SpringBoot整合jwt+redis+随机验证码+Vue的登录功能

    !注意:前端的Vue项目中要引入element-ui和axios # npm安装element-ui、axios npm insatll element-ui -S npm install axios -S # 在main中引入

    2024年02月10日
    浏览(39)
  • 使用MATLAB生成任何需要的伪随机码(PN码)

    目录 一. 引言 二. 用matlab生成伪随机序列                 伪随机码(PN码),只包含0和1,是一种人为随机创造的随机序列。应用范围广,通信中经常使用到,比如伪码测距等。为了验证所给的生成函数是否正确,经常需要使用matlab仿真查看所生成的随机序列。         下

    2024年02月11日
    浏览(49)
  • Jmeter验证码图片识别注册接口压力测试实战_压测时,登录需要传图形验证码

    先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7 深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前! 因此收集整理了一份《2024年最新软件测试全套学习资料》

    2024年04月22日
    浏览(53)
  • C#生成自定义登录验证码(微信公众号验证码,邮箱验证码等)

    本文只讲解自定义验证码生成的实现,其他两种见我其他文章。 在项目上线使用时,网络对外警察后受到攻击,特别是尝试各种密码组合对用户名密码登录的暴力破解,需要增加验证码来增加用户信息的安全性。 ps:注意生成的验证码要具备时效性,设置3-5分钟失效,或登录

    2024年02月16日
    浏览(41)
  • python编程实战(二):一文教你生成随机验证码!大小写字母与数字组合,位数可以控制

    验证码验证,是常见的安全验证的一种方式,可以用来杜绝脚本和机器人操作等等; 除了本文介绍的简单的验证码之外,还有拼图验证、文字顺序验证等常见的验证方式 毕竟一位就是 26 + 26 +10 = 62种 4位验证码那就有 62 * 62 * 62 * 62 = 14776336 种组合! 6位就更不用说了~ 生活中我

    2023年04月11日
    浏览(81)
  • 【STM32调试案例】实现延时的3中常见方案

    方案一:基于延时函数的延时 示例:delay_nms(1000)//1ms 该方式不能够保证很高的延时精度 方案二:Systick中断延时 在stm32f10x_it.h中声明一个全局变量 在stm32f10x_it.c中定义中断函数 在main.c中定义以下函数与一个全局变量 关于SysTick_Config()函数可以参略V350库帮助系统 方案三:

    2024年02月13日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包