Java 生成任意长度的验证码过程解析_java

来源:脚本之家  责任编辑:小易  

public class GenerateRandomLetterAndNum {public static void main(String[]args){Set<String>store=getletterandnum(6);printSet(store);}public static Set<String>getletterandnum(int length){Set<String>set=new HashSet();for(int i=0;i;i+){String value=getrandom();set.add(value);}if(set.size()){/如果没有生成6位String value=getrandom();继续调用生成随机数的方法set.add(value);}return set;}private static String getrandom(){/生成随机字母和数字方法String value=";Random random=new Random();int gen=random.nextInt(2);0、1、2String charornum=gen%2=0?char":"num;if("char".equals(charornum)){int temp=random.nextInt(2)%2=0?65:97;int ascii=random.nextInt(26);value+(char)(ascii+temp);} else if("num".equalsIgnoreCase(charornum)){value+String.valueOf(random.nextInt(10));}return value;}public static void printSet(Set set){/打印set的方法Iterator iterator=set.iterator();while(iterator.hasNext()){String ele=(String)iterator.next();System.out.print(ele+"");}}www.zgxue.com防采集请勿采集本网。

需求说明

java如何随机生成6位数的验证码 我来答 过分的饭饭 来自电脑网络类芝麻团 2016-11-23 过分的饭饭 展开全部 public static final char chars={'1','2','3','4','5','6','7','8','9','0','Q','W

1、要求生成任意长度的验证码

setPreferredSize(new Dimension(width, height)); setSize(width, height); this.addMouseListener(this); setToolTipText("点击可以更换验证码"); } public

2、验证码要求包含大小写英文字母和数字

1、定义一个img指向后台服务 <img title="点击刷新" src="${pageContext.request.contextPath}/aa/img" class="img_login_code" onclick="this.src='${page

实现方式

200;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;lt;&47.PLAIN;/干扰线的长度=1.1nbsp;*nbsp;nbsp;nbsp:nbsp;*nbsp;*nbsp;@authornbsp;$author$nbsp;Random();nbsp;/

采用随机数的方式,分别在数字,大小写英文字母里面抽取字符,抽取次数由for循环控制

1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开 num=1+randomnumbers.nextInt(100);//随机输出1~100中的任意整数 System.out.printf( %

代码内容

随机的方法及程序入口

package com.work.work3;/** * @auther::9527 * @Description: 验证码生成器 * @program: shi_yong * @create: 2019-07-30 20:45 */public class Method { //采用char对照表生成验证码 public static String verCode1(int num) { String code = ""; //设置一个变量,用来接收验证码 for (int i = 0; i < num; i++) { //使用一个布尔变量,判定单个验证码是数字还是英文字母 boolean choose = ((int) (Math.random() * 2) == 0) ? true : false; if (choose) { //如果choose为真,则选取数字做单个验证码并连接到code里面 code += (int) (Math.random() * 10); //在0-9之间选择一个数字做验证码 } else { //如果choose为假,则选取英文字母做单个验证码并连接到code里面 //用char对照表里面的序号,确认本次英文字母是采用大写还是小写, // 65是大写英文字母开头,97是小写英文字母开头 int temp = ((int) (Math.random() * 2) == 0) ?65:97; char ch = (char)((Math.random()*26)+temp); code += ch; } } //返回一个字符串 return code; } public static String verCode2(int num){ String code=""; //采用变量string接收所有0-9,a-z,A-Z的字符 String string = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; //将字符串拆分成字符串数组 String[] str= string.split(""); for (int i = 0; i <num ; i++) { //在数组里面用下标随机出字符串 code += str[(int)(Math.random()*str.length)]; } return code; } public static void main(String[] args) { System.out.println("对照表法:"+Method.verCode1(6)); System.out.println("split分割字符串法:"+Method.verCode2(6)); }}

运行结果

我写了个方法,参数是你指定的636f707962616964757a686964616f31333363356539长度,按照这个方法,可以随机生成字符串。但是不保证重复,可以参考一下。public class RandomString {private final static byte[] seed={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};public static String getRandomString(int length){//参数为指定的字符串长度String str="";StringBuffer buffer = new StringBuffer();for (int j = 0; j < length; j++) {int i = (int)(Math.random()*25);char b = (char)seed[i];buffer.append(b);}str = buffer.toString();return str;}public static void main(String[] args) {String randomStr = getRandomString(6);System.out.println(randomStr);}}内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • 基于java随机生成手机短信验证码的实例代码
  • java生成验证码工具类
  • 简单验证码生成java版
  • java中使用patchca生成超炫的验证码
  • java随机验证码生成实现实例代码
  • java生成图形验证码工具类
  • java生成图片验证码示例代码
  • 浅析java验证码生成库jcaptcha
  • springmvc整合websocket实现消息推送及触发功能
  • 微服务领域spring boot自动伸缩的实现方法
  • jdk13的新特性之appcds详解
  • java annotation(java 注解)的实现代码
  • 详谈enumeration接口和iterator接口的区别
  • java8 hashmap的实现原理分析
  • spring boot整合mybatis使用c3p0数据源连接mysql
  • java class文件格式之数据类型_动力节点java学院整理
  • java 两个数组合并的几种方法
  • java数组常见应用详解【创建、遍历、排序、查找】
  • Java怎么生成一个指定长度的字符串类似于验证码
  • 用java生成6位验证码,要求字母大小写数字组成,不能重复字符
  • 产生一个4位的随机验证码,大写字母和数字混合的。每一位都可能是...
  • java中如何编写输出一组由大写和数字组成的6个随机验证码,字母O...
  • java如何随机生成6位数的验证码
  • java swing中登录界面验证码的实现。
  • JAVAWEB项目怎么实现验证码
  • 如何生成图片,例如验证码是怎样产生的求大神帮助
  • Java怎么产生不重复的随机数,求代码
  • 怎么样用java代码自动生成不重复的含有数字和字母的随机码
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全c#教程vbvb.netc 语言java编程delphijavaandroidiosswiftscala易语言汇编语言其它相关首页基于java随机生成手机短信验证码的实例代码java生成验证码工具类简单验证码生成java版java中使用patchca生成超炫的验证码java随机验证码生成实现实例代码java生成图形验证码工具类java生成图片验证码示例代码浅析java验证码生成库jcaptchaspringmvc整合websocket实现消息推送及触发功能微服务领域spring boot自动伸缩的实现方法jdk13的新特性之appcds详解java annotation(java 注解)的实现代码详谈enumeration接口和iterator接口的区别java8 hashmap的实现原理分析spring boot整合mybatis使用c3p0数据源连接mysqljava class文件格式之数据类型_动力节点java学院整理java 两个数组合并的几种方法java数组常见应用详解【创建、遍历、排序、查找】java使double保留两位小数的多方java8 十大新特性详解java.net.socketexception: connjava写入文件的几种方法分享java环境变量的设置方法(图文教程java 十六进制与字符串的转换java list用法示例详解java中file类的使用方法javaweb实现文件上传下载功能实例java 字符串截取的三种方法(推荐spring boot 本地图片不能加载(图片路径android home键监听的实现代码以实例讲解objective-c中的kvo与kvc机制java swing组件下拉菜单控件jcombobox用法springboot项目没有把依赖的jar包一起打包springboot整合rabbitmq的示例代码使用shiro实现登录成功后跳转到之前的页面详解kotlin中如何实现类似java或c#中的静java组件commons fileupload实现文件上传java数组排列组合问题汇总
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved