Java实现生成验证码实战

文章目录

  • 需求描述
  • 思想思路
  • 实现代码
  • 实现效果

在实际项目中,管理端的登录,会涉及验证码的校验,简单的数字与字母组合形式,在Java中要如何生成与实现,记录下来,方便备查。

需求描述

生成8位的由数字、大写字母字符串,作为前端展示的验证码。

思想思路

定义一个数字和字母的字符集,随机从其中取值,拼接成8位长度的子字符串。

实现代码

使用Java语言实现生成过程,

 /**
  * 验证码生成
  * @param n
  * @return
  */
 public static String getRandomCode(int n){
     // 第一步、定义变量存放所有的字符集合
     String str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
     // 第二步、定义变量,记录验证码字符
     String code = "";
     // 第三步、循环n次,每次生成一个随机字符,拼接成字符串
     for(int i=0;i<n;i++){
         // 第四步、随机一个索引
         int index = (int) (Math.random()*str.length());
         // 字符串拼接
         code += str.charAt(index);
     }
     return code;
 }

参数为生成的位数,调用传参n=8,示例调用如下所示。

public static void main(String[] args){
    // n为生成验证码的长度
    String randomCode = getRandomCode(8);
    System.out.println("生成的验证码为:"+randomCode);
}

实现效果

在控制台打印生成结果,如下所示。
在这里插入图片描述
再次生成,如下图所示。
在这里插入图片描述
以上即简单实现验证码随机生成的过程,仅供参考!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/875581.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【零基础学习CAPL】——CRC值监控测试

🙋‍♂️【零基础学习CAPL】系列💁‍♂️点击跳转 ——————————————————————————————————–—— 从0开始学习CANoe使用 从0开始学习车载车身 相信时间的力量 星光不负赶路者,时光不负有心人。 目录 1.概述2.需求介绍3.算法4.逻辑判断5.测…

ARCGIS PRO DSK MapTool

MapTool用于自定义地图操作工具&#xff0c;使用户能够在ArcGIS Pro中执行特定的地图交互操作。添加 打开MapTool1.vb文件&#xff0c;可以看到系统已经放出MapTool1类&#xff1a; Public Sub New()将 IsSketchTool 设置为 true 以使此属性生效IsSketchTool TrueSketchTyp…

为了准确计算延迟退休时间,我做了一个退休年龄计算器

延迟退休计算方法 原本退休分为三种情况&#xff0c;男性&#xff0c;女工人&#xff0c;女干部 男性&#xff1a;退休年龄为60岁。女干部&#xff1a;退休年龄为55岁。女工人&#xff1a;退休年龄为50岁。 现在延迟以后&#xff08;根据2024年9月13日公布的规则&#xff09…

一次开发,多端部署--实例二

一、视觉风格 1、分层参数 使用了分层参数后&#xff0c;当系统切换深色模式时&#xff0c;字体和背景也可以自适应。 Row() {Column() {Text(分层参数)// 分层参数在sysResource包&#xff0c;属于系统参数&#xff0c;全局可用.fontColor($r(sys_color.ohos_id_color_text_pr…

JavaScript模块化——ES6模块化规范

作者&#xff1a;CSDN-PleaSure乐事 欢迎大家阅读我的博客 希望大家喜欢 使用环境&#xff1a;vscode Chrome浏览器 1.ES6 1.1ES6介绍 ES6的全称是ECMAScript 6&#xff0c;也称为ES2015&#xff0c;是JavaScript的一个重要版本&#xff0c;它引入了许多新特性和改进&#xf…

云计算实训43——部署k8s基础环境、配置内核模块、基本组件安装

一、前期系统环境准备 1、关闭防火墙与selinux [rootk8s-master ~]# systemctl stop firewalld[rootk8s-master ~]# systemctl disable firewalldRemoved symlink /etc/systemd/system/multi-user.target.wants/firewalld.service. Removed symlink /etc/systemd/system/dbus…

云渲染与AI渲染分别是什么?两者的优势对比

云渲染和AI渲染是两种先进的渲染技术&#xff0c;它们各自具有独特的优势和应用场景。下面针对两种情况来简单说明下。 1、云渲染&#xff1a; - 定义&#xff1a;云渲染是一种利用远程服务器(云端)来处理和生成渲染效果的技术。它允许用户将计算密集型的任务转移到云端&#…

uniapp网络延迟优化之骨架屏

文章目录 前言uniapp网络延迟优化之骨架屏 一、骨架屏是什么&#xff1f;二、使用步骤1.在微信开发者工具生成骨架屏文件2.转成vue组件3.组件中使用4.效果展示4.开发时遇到的问题&#xff1f; 总结 前言 uniapp网络延迟优化之骨架屏 一、骨架屏是什么&#xff1f; 骨架屏的主…

C++ | Leetcode C++题解之第403题青蛙过河

题目&#xff1a; 题解&#xff1a; class Solution { public:bool canCross(vector<int>& stones) {int n stones.size();vector<vector<int>> dp(n, vector<int>(n));dp[0][0] true;for (int i 1; i < n; i) {if (stones[i] - stones[i -…

卷积神经网络经典模型架构简介

【图书推荐】《PyTorch深度学习与企业级项目实战》-CSDN博客 《PyTorch深度学习与企业级项目实战&#xff08;人工智能技术丛书&#xff09;》(宋立桓&#xff0c;宋立林)【摘要 书评 试读】- 京东图书 (jd.com) ImageNet是一个包含超过1 500万幅手工标记的高分辨率图像的数据…

Redis——常用数据类型List

目录 List列表常用命令lpushlpushxrpushrpushlrangelpoprpoplindexlinsertllenlremltrim key start stoplset 阻塞版本命令blpopbrpop list的编码方式list的应用 List列表 Redis中的list相当于数组&#xff0c;或者 顺序表&#xff0c;一些常用的操作可以通过下面这张图来理解…

ubuntu 遇到的一些问题及解决办法

一、“E: 无法定位软件包” 产生该问题的安全提示原因有很多。如网络链接问题、apt 源过期了。 解决方法&#xff1a; 1. 备份 /etc/apt/sources.list 文件 cp /etc/apt/sources.list /etc/apt/sources.list.old 2. 打开文件 gedit /etc/apt/sources.list 3. 添加清华源…

PHP一键约课高效健身智能健身管理系统小程序源码

一键约课&#xff0c;高效健身 —— 智能健身管理系统让健康触手可及 &#x1f3cb;️‍♀️ 告别繁琐&#xff0c;一键开启健身之旅 你还在为每次去健身房前的繁琐预约流程而烦恼吗&#xff1f;现在有了“一键约课高效健身智能健身管理系统”&#xff0c;所有问题都迎刃而解…

SaaS化多租户实现的两种方法

SaaS化多租户实现的两种方法 SaaS系统的定义 SaaS&#xff0c;全称为Software-as-a-Service&#xff08;软件即服务&#xff09;&#xff0c;是一种基于云计算的软件交付模式。而SaaS系统&#xff0c;即是通过这种模式提供给用户的软件系统。即多租户系统&#xff0c;每个租户…

Leetcode Hot 100刷题记录 -Day15(螺旋矩阵)

螺旋矩阵 问题描述&#xff1a; 给你一个 m 行 n 列的矩阵 matrix &#xff0c;请按照 顺时针螺旋顺序 &#xff0c;返回矩阵中的所有元素。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,2,3],[4,5,6],[7,8,9]]输出&#xff1a;[1,2,3,6,9,8,7,4,5] 示例 2&#xff1a; 输…

WebGL系列教程七(二维及三维旋转、平移、缩放)

目录 1 前言2 二维2.1 平移2.2 旋转2.3 缩放 3 三维3.1 平移3.2 旋转3.2.1 绕 X X X 轴旋转3.2.2 绕 Y Y Y 轴旋转3.2.3 绕 Z Z Z 轴旋转3.2.4 绕任意轴旋转 3.3 缩放 4 WebGL中怎么实现旋转、平移、缩放4.1 声明顶点着色器和片元着色器4.2 计算旋转矩阵4.3 绘制立方体并进行…

基于Matlab的模拟答题卡识别阅卷可以识别指定答题卡的各个部分-界面

识别指定答题卡的各个部分-界面-如学号&#xff0c;准考证号&#xff0c;客观题答案&#xff0c;主观题分数等用户可以在Excel中自行设置标准答案&#xff0c;并对六十题客观题进行批改&#xff0c;并显示分数。 项目介绍 本项目旨在开发一个基于MATLAB的答题卡识别阅卷系统&a…

认识泛型和包装类

认识泛型和包装类 包装类基本数据类型和对应的包装类装箱和拆箱自动装箱和自动拆箱 什么是泛型引出泛型语法 泛型类的使用语法示例类型推导 裸类型(Raw Type)说明 泛型如何编译的擦除机制 泛型的上界语法示例复杂示例 泛型方法定义方法示例使用类型推导和不用类型推导静态的泛型…

IO模型---BIO、NIO、IO多路复用、AIO详解

本篇将想给详细解释一下什么是BIO、NIO、IO多路复用以及AIO~ 同步的阻塞(BIO)和非阻塞(NIO)的区别 BIO&#xff1a;线程发来IO请求后&#xff0c;一直阻塞着IO线程&#xff0c;需要缓冲区这边数据准备好之后&#xff0c;才会进行下一步的操作。 举个&#x1f330;&#xff1…

UE5学习笔记21-武器的射击功能

一、创建C类 创建武器子弹的类&#xff0c;创建生产武器子弹的类&#xff0c;创建弹壳的类&#xff0c;生产武器子弹的类的父类是武器的类 创建后如图&#xff0c;ProjectileMyWeapon类(产生子弹的类)继承自weapon类&#xff0c;Projectile(子弹的类)&#xff0c;Casing(弹壳声…