广告
返回顶部
首页 > 资讯 > 精选 >java随机验证码生成实现实例代码
  • 268
分享到

java随机验证码生成实现实例代码

java随机验证码 2023-05-31 15:05:17 268人浏览 泡泡鱼
摘要

java随机验证码生成实现实例代码摘要: 在项目中有很多情况下都需要使用到随机验证码,这里提供一个java的随机验证码生成方案,可以指定难度,生成的验证码可以很方便的和其他组件搭配之前要使用一个生成随机验证码的功能,在网上找了一下,有很多的

java随机验证码生成实现实例代码

摘要: 在项目中有很多情况下都需要使用到随机验证码,这里提供一个java的随机验证码生成方案,可以指定难度,生成的验证码可以很方便的和其他组件搭配

之前要使用一个生成随机验证码的功能,在网上找了一下,有很多的人提出了不同的解决方案,但是很多人都使用了com.sun.image.这个包或者子包里面的类,而这个包结构下面的类都是不推荐使用的,我们应该依赖于java.或者javax.这些包结构下面的类,否则将来的可移植性就很不好(比如换成IBM的jdk就不行了),但是还是有人没有用这些类也做成了的,所以我就在这些代码的基础上,修改了之后做成了下面的工具类,大家可以随意使用,同时也欢迎提出改进意见。

        在jdk1.7.45运行通过。

        首先是验证码生成,可以选择难度:

package cn.songxinqiang.tool.util;import java.util.Arrays;public class RandomSecurityCode {  public enum SecurityCodeLevel { Simple, Medium, Hard }; // 字符集合(除去易混淆的数字0、数字1、字母l、字母o、字母O) private final char[] CHAR_CODE = { '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'm', 'n', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' };  public char[] getSecurityCode() { return getSecurityCode(4, SecurityCodeLevel.Medium, false); }  public char[] getSecurityCode(int length, SecurityCodeLevel level, boolean isCanRepeat) { // 随机抽取len个字符 int len = length; char[] code; // 根据不同的难度截取字符数组 switch (level) { case Simple: { code = Arrays.copyOfRange(CHAR_CODE, 0, 9); break; } case Medium: { code = Arrays.copyOfRange(CHAR_CODE, 0, 33); break; } case Hard: { code = Arrays.copyOfRange(CHAR_CODE, 0, CHAR_CODE.length); break; } default: { code = Arrays.copyOfRange(CHAR_CODE, 0, CHAR_CODE.length); } } // 字符集合长度 int n = code.length; // 抛出运行时异常 if (len > n && isCanRepeat == false) { throw new RuntimeException(String.fORMat(  "调用SecurityCode.getSecurityCode(%1$s,%2$s,%3$s)出现异常,"  + "当isCanRepeat为%3$s时,传入参数%1$s不能大于%4$s", len,  level, isCanRepeat, n)); } // 存放抽取出来的字符 char[] result = new char[len]; // 判断能否出现重复的字符 if (isCanRepeat) { for (int i = 0; i < result.length; i++) { // 索引 0 and n-1 int r = (int) (Math.random() * n); // 将result中的第i个元素设置为codes[r]存放的数值 result[i] = code[r]; } } else { for (int i = 0; i < result.length; i++) { // 索引 0 and n-1 int r = (int) (Math.random() * n); // 将result中的第i个元素设置为codes[r]存放的数值 result[i] = code[r]; // 必须确保不会再次抽取到那个字符,因为所有抽取的字符必须不相同。 // 因此,这里用数组中的最后一个字符改写codes[r],并将n减1 code[r] = code[n - 1]; n--; } } return result; }}

--结束END--

本文标题: java随机验证码生成实现实例代码

本文链接: https://www.lsjlt.com/news/226533.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java随机验证码生成实现实例代码
    java随机验证码生成实现实例代码摘要: 在项目中有很多情况下都需要使用到随机验证码,这里提供一个java的随机验证码生成方案,可以指定难度,生成的验证码可以很方便的和其他组件搭配之前要使用一个生成随机验证码的功能,在网上找了一下,有很多的...
    99+
    2023-05-31
    java 随机 验证码
  • java实现随机验证码图片生成
    本文实例为大家分享了java生成随机验证码图片的具体代码,供大家参考,具体内容如下 1.controller @GetMapping(value = "/getRan...
    99+
    2022-11-12
  • JS实现随机生成验证码
    本文实例为大家分享了JS实现随机生成验证码的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html> <head>...
    99+
    2022-11-12
  • Android实现随机生成验证码
    本文实例为大家分享了Android验证码的随机生成代码,供大家参考,具体内容如下 Code.java package com.example.myapp; import and...
    99+
    2022-11-12
  • JAVA怎么实现随机生成四位验证码
    Java可以使用Random类来实现随机生成四位验证码。下面是一个示例代码:```javaimport java.util.Rand...
    99+
    2023-08-09
    JAVA
  • java怎么实现随机验证码图片生成
    这篇文章主要介绍“java怎么实现随机验证码图片生成”,在日常操作中,相信很多人在java怎么实现随机验证码图片生成问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java怎么实现随机验证码图片生成”的疑惑有所...
    99+
    2023-06-25
  • JavaScript实现随机生成验证码及校验
    本文实例为大家分享了JavaScript实现随机生成验证码及校验的具体代码,供大家参考,具体内容如下 输入验证码(区分大小写)点击确认,进行校验。出错就弹框提示 点击 看不清 重新随...
    99+
    2022-11-12
  • Android随机生成验证码
    Android随机生成验证码,Android利用随机数绘制不规则的验证码,加强用户登录或者注册的安全性。 具体思路如下: 在一块固定宽高的画布上,画上固定个数的随机数字和字母,...
    99+
    2022-06-06
    验证码 Android
  • python生成随机验证码
    一、生成随机验证码(纯数字及字母加数字): import random import string checkcod='' for i in range(5): #5位验证码 ''' #纯数字验证码 #随机值1-...
    99+
    2023-01-31
    验证码 python
  • android端实现验证码随机生成功能
    本文实例为大家分享了android端生成随机验证码的具体代码,供大家参考,具体内容如下package com.nobeg.util; import java.util.Random; import android.graphics.Bi...
    99+
    2023-05-30
    android 验证码 roi
  • Python实现随机生成图片验证码详解
    使用python生成一个图片验证码,随机的,可以由于验证人机和别的啊,很方便很简单 导入模块 import random from PIL import Image,ImageFon...
    99+
    2022-11-13
  • React tsx生成随机验证码
    React tsx 生成随机验证码,供大家参考,具体内容如下 最近开发React 使用tsx编写,没有找到什么好的随机生成验证码的插件,自己就手撸了一个,废话不多话,直接上代码。 t...
    99+
    2022-11-12
  • 怎么用Python实现随机生成图片验证码
    本篇内容主要讲解“怎么用Python实现随机生成图片验证码”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用Python实现随机生成图片验证码”吧!导入模块import random...
    99+
    2023-06-26
  • Python3 生成一个随机验证码
    '''设计一个八位随机验证码,验证码是由大写字母,小写字母和数字三种字符组成。定义一个范围只有1,2,3的随机数,如果这个随机数是1,则八位验证码的当前位置用大写字母;                            如果这个随机数是...
    99+
    2023-01-31
    验证码
  • QT如何生成随机验证码
    这篇“QT如何生成随机验证码”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“QT如何生成随机验证码”文章吧。一、先创建一个QT...
    99+
    2023-07-02
  • JavaScript实现随机码的生成与校验
    JavaScript之随机码的生成与校验,供大家参考,具体内容如下 由于获取事件源有两种写法,所以在此处都附上: 这个是直接用var去定义的 <!DOCTYPE html&...
    99+
    2022-11-12
  • React tsx如何生成随机验证码
    这篇文章主要介绍React tsx如何生成随机验证码,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!React tsx 生成随机验证码,具体内容如下最近开发React 使用tsx编写,没有找到什么好的随机生成验证码的插...
    99+
    2023-06-14
  • JavaScript中怎么生成随机验证码
    这篇文章将为大家详细讲解有关JavaScript中怎么生成随机验证码,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。利用canvas制作一个随机验证码:  1...
    99+
    2022-10-19
  • QT生成随机验证码的方法
    本文实例为大家分享了QT生成随机验证码的具体代码,供大家参考,具体内容如下 一、先创建一个QT应用程序,在ui中添加一个QFrame控件,后期将这个控件提升为下面自己实现验证码的类就...
    99+
    2022-11-13
  • php怎么能随机生成验证码
    这篇文章给大家分享的是有关php怎么能随机生成验证码的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。代码如下:<phpclass functions{    ...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作