Java的随机验证码生成类

java随机密码生成器 源代码 该代码可以生成一个大写字母+2个小写字母+6个数字+3个特殊字符的随机密码。Windows下运行参考:https://blog.youkuaiyun.com/u011177600/article/details/79520285 立即下载
package cn.edu.hbcit.util;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.util.Random;
import javax.imageio.ImageIO;
import javax.imageio.stream.ImageOutputStream;
//闂呫劍顭奸弫鎼侇敚
public class RandomNumUtil {
	private ByteArrayInputStream image;// 閸ユ儳鍎�
	private String str;// 妤犲矁鐦夐惍锟�

	private RandomNumUtil() {
		init();// 閸掓繂顬婇崠鏍х潣閹拷
	}

	/*
	 * 閸欐牕绶盧andomNumUtil鐎圭偘绶�
	 */
	public static RandomNumUtil Instance() {
		return new RandomNumUtil();
	}

	/*
	 * 閸欐牕绶辨宀冪槈閻礁娴橀悧锟�
	 */
	public ByteArrayInputStream getImage() {
		return this.image;
	}

	/*
	 * 閸欐牕绶遍崶鍓у閻ㄥ嫰鐛欑拠浣虹垳()
	 */
	public String getString() {
		return this.str;
	}

	private void init() {
		// 閸︺劌鍞寸�妯硅厬閸掓稑缂撻崶鎹愯杽
		int width = 63, height = 20;
		BufferedImage image = new BufferedImage(width, height,
				BufferedImage.TYPE_INT_RGB);
		// 閼惧嘲褰囬崶鎯ц埌娑撳﹣绗呴弬锟�
		Graphics g = image.getGraphics();
		// 閻㈢喐鍨氶梾蹇旀簚缁拷
		Random random = new Random();
		// 鐠佹儳鐣鹃懗灞炬珯閼癸拷
		g.setColor(getRandColor(200, 250));
		g.fillRect(0, 0, width, height);
		// 鐠佹儳鐣剧�妞剧秼
		g.setFont(new Font("Times New Roman", Font.PLAIN, 18));
		// 闂呭繑婧�禍褏鏁�55閺夆�鍏遍幍鎵殠閿涘奔濞囬崶鎹愯杽娑擃厾娈戠拋銈堢槈閻椒绗夐弰鎾诡枂閸忚泛鐣犵粙瀣碍閹恒垺绁撮崚锟�
		g.setColor(getRandColor(160, 200));
		for (int i = 0; i < 155; i++) {
			int x = random.nextInt(width);
			int y = random.nextInt(height);
			int xl = random.nextInt(12);
			int yl = random.nextInt(12);
			g.drawLine(x, y, x + xl, y + yl);
		}
		// 閸欐牠娈㈤張杞伴獓閻㈢喓娈戠拋銈堢槈閻拷6娴e秵鏆熺�锟�
		String sRand = "";
		for (int i = 0; i < 4; i++) {
			String rand = String.valueOf(random.nextInt(10));
			sRand += rand;
			// 鐏忓棜顓荤拠浣虹垳閺勫墽銇氶崚鏉挎禈鐠炩�鑵�
			g.setColor(new Color(20 + random.nextInt(110), 20 + random
					.nextInt(110), 20 + random.nextInt(110)));
			// 鐠嬪啰鏁ら崙鑺ユ殶閸戠儤娼甸惃鍕杹閼硅尙娴夐崥宀嬬礉閸欘垵鍏橀弰顖氭礈娑撹櫣顬岀�鎰亰閹恒儴绻庨敍灞惧娴犮儱褰ч懗鐣屾纯閹恒儳鏁撻幋锟�
			g.drawString(rand, 13 * i + 6, 16);
		}
		// 鐠у锟芥宀冪槈閻拷
		this.str = sRand;

		// 閸ユ崘钖勯悽鐔告櫏
		g.dispose();
		ByteArrayInputStream input = null;
		ByteArrayOutputStream output = new ByteArrayOutputStream();
		try {
			ImageOutputStream imageOut = ImageIO
					.createImageOutputStream(output);
			ImageIO.write(image, "JPEG", imageOut);
			imageOut.close();
			input = new ByteArrayInputStream(output.toByteArray());
		} catch (Exception e) {
			System.out.println("妤犲矁鐦夐惍浣告禈閻楀洣楠囬悽鐔峰毉閻滀即鏁婄拠顖ょ窗" + e.toString());
		}

		this.image = input;/* 鐠у锟介崶鎯у剼 */
	}

	/*
	 * 缂佹瑥鐣鹃懠鍐ㄦ纯閼惧嘲绶遍梾蹇旀簚妫版粏澹�
	 */
	private Color getRandColor(int fc, int bc) {
		Random random = new Random();
		if (fc > 255)
			fc = 255;
		if (bc > 255)
			bc = 255;
		int r = fc + random.nextInt(bc - fc);
		int g = fc + random.nextInt(bc - fc);
		int b = fc + random.nextInt(bc - fc);
		return new Color(r, g, b);
	}
}


Java 生成设定长度的随机密码 Java 生成不定位数的 随机密码,密码长度和密码内容可以根据需要修改! 立即下载

相关推荐

Grok 3国内怎么用?超详细使用指南+实用指令模板

主要是用于快速分析学术论文,提取关键信息,总结研究成果。Analyze the following research paper: [粘贴或上传论文内容]1. Extract key findings, methodologies, and conclusions. (提取主要发现、方法和结论。2. Identify statistical significance and data points. (识别统计显著性和数据点。

Survivor_sl的博客 1万+

Java生成随机密码

Java编程逻辑的生成随机密码代码

dust_fall的博客 2786

手把手教你用STM32F303和LAN9252搭建EtherCAT从站(附IO/AD/DA完整代码)

本文详细介绍了如何使用STM32F303和LAN9252搭建EtherCAT从站,涵盖硬件选型、开发环境配置、协议栈移植及IO/AD/DA功能实现。通过实战指南和完整代码,帮助开发者快速掌握工业自动化中的实时通信技术,提升系统性能与可靠性。

weixin_26802933的博客 235

Java随机用户名和密码生成工具类

import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Random; public class Util { private static Random rand; static{ rand=new Random...

hero_lxz的博客 9234

如何创建属于自己的大语言模型:从零开始的指南

随着人工智能的快速发展,大语言模型(LLM)在各种场景中表现出了卓越的能力,例如文本生成、对话交互和内容总结等。本文将带你了解创建 LLM 的核心步骤,从理论到实践,让你拥有一个自己的智能助手。

赵大仁的博客 3280

点到面点云配准(Point To Plane)算法知识详解和详细推导,C++代码实现

点到面 ICP (Iterative Closest Point) 是在 3D 点云配准中常见的一种变体,通过最小化点到对应面(由法向量定义的局部平面)的距离来提高收敛速度和精度。

qq_36812406的博客 1810

利用String类生成随机验证码案例JAVA

利用String类生成随机验证码案例JAVA

qq_45169358的博客 354

cartographer ceres后端优化

这里引用一篇文章作用一:用户可以选择使用Problem::AddParameterBlock显式添加参数块;在显式添加的时候ceres会内部进行额外的正确性检查。当Problem::AddParameterBlock()不存在时,Problem::AddResidualBlock()会隐式添加参数块,因此不需要显式调用Problem::AddParameterBlock()函数。ps:类似构造函数,显式构造函数。

南北粉面馆 802

java随机生成四位字符验证码(使用Graphics绘图类)

package com.itany.graphic; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.util.Random; /*  * 随机数  */ public class ValidateCode { //随机字符

msyqmsyq的博客 2981

YOLOv10改进 | 主干篇 | 引入FasterNet:Run, Don‘t Walk,追求更快的神经网络

本文引入了 FasterNet 作为 YOLOv10 的主干网络。通过 PConv 算子,我们有效降低了模型的计算冗余。对于追求极致推理速度的场景(如树莓派、Jetson Nano),该改进方案极具价值。建议在训练时配合混合精度训练 (AMP)进一步加速。

weixin_51988935的博客 604

锂电池充放电管理-单片机通用模版

- **①两节锂电池通过电阻分压检测ADC,再根据电压划分电量等级;** - **②充电使用的是锂电池充电IC方案,可通过硬件电阻参数调节充电电流,并可以通过STAT引脚检测充电和满电状态(充电注意会抬高电压);** - **③放电根据ADC_BAT检测电池电量进行等级划分(注意大负载电压骤降瞬间);** - **④充放电过程注意在电量划分等级临界值来回抖动现象;**

a6662580的博客 1489

随机生成验证码-java类

package test.java; import java.util.Random; public class YanZhengMa { public static void main(String [] args){ // 假设定义传入参数,number1代表循环次数,number2代表随意生成0到(number2-1)范围内的任意正整数。 int number1 = 4; i...

fudl的博客 176

YOLO11改进:轻量级改进 | 通用倒瓶颈(UIB)搜索块结合C3k2二次创新 | 轻量化之王MobileNetV4

通用倒瓶颈(UIB)搜索块替代YOLO11的C3k2

会AI的学姐 293

写一个随机生成验证码的类(Java)

首先创建一个类的成员变量: // w,h为图片的宽高 private int w= 70; private int h= 35; //创建一个Random类的对象 private Random r = new Random(); //字体数组 private String[] fontName = {&quot;宋体&quot;,&quot;华文楷体&quot;,&quot;黑体&quot;,&quot;微软雅黑&q

qq_42011112的博客 470

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

java生成随机验证码

1.随机生成长度为4的验证码,范围在26个大小写字母,与10个数字之间。 (温馨提示:验证码一般都会避开容易混淆的—> 数字: 0、 1 字母:O o L l) 代码如下: import java.util.Random; public class Code { public static void main(String[] args) { //Random类 R...

weixin_44477677的博客 2511

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

java 生成随机md5_Java常用工具类(计算MD5,验证码随机生成,天数差值计算)

写这个博文的目的是为了怕哪天自己的电脑崩溃了,以前写的那些代码就没了,所以将自己写的工具类贴出来,方便以后去使用,也避免自己反复去创造轮子,也可以对这些方法进行简单修改来完成业务需求,这样就可以极大的提高开发的效率。方法一:计算字符串的MD5的值使用方法很简单,直接把值传入方法中就可以了,会返回一个字符串String注意去获取。public final static String calculat...

weixin_33603316的博客 975

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

mysql生成随机验证码_随机生成验证码类

VerifyCode类:生成四个随机验证码packagecn.itcast.image;importjava.awt.BasicStroke;importjava.awt.Color;importjava.awt.Font;importjava.awt.Graphics2D;importjava.awt.image.BufferedImage;importjava.io.IOException;i...

weixin_35760849的博客 345

JAVA常用工具类-【7】生成随机验证码

1、通过图片在登录页生成验证码 package com.day.util; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.IOException; import java.util.HashMap; import java.util.Map; import java.util.Random; import

p6448777的博客 239

Java 随机生成验证码生并验证

Java 随机生成验证码并验证 功能简介 验证码字符集 验证码字符一般都是在09,az,A~Z 共62个字符中随机生成n个字符,且允许错三次。 所以可以创建一个集合(codes)。 private int counter = 3; //允许错误的次数 private int index; //code数组下标,初始值为0 private char[] codes = new cha

YoungProMaker的博客 1402

Java生成随机n位数验证码

在Java开发中,生成随机验证码是一个常见的需求,特别是在Web开发中用于用户验证。本文将介绍一种简单的方法来生成随机n位数验证码。

2301_81364903的博客 1030

java中阿里短信服务(附带随机短信验证码生成类) --菜鸟小回

java中阿里短信服务(短信验证码) 文章目录java中阿里短信服务(短信验证码)1. 创建签名2. 创建模板3. 测试验证码功能4. 查看Api Demo5. 获取AK信息6. 复制Api Demo到eclipse;复制依赖到pom.xml7.自建工具类 1. 创建签名 如下位置创建签名,等待审核通过 2. 创建模板 如下位置创建模板,等待审核通过 3. 测试验证码功能 填写相...

菜鸟小回的博客 1259

springboot下生成图片验证码并验证

随机图片生成类 package com.yg.sixpre.utils; import javax.imageio.ImageIO; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession...

phubing 1万+

用Java编写随机验证码生成器

用Java编写随机验证码生成器 很多GUI程序都需要在组件上绘制图形,在java.awt包中提供了一个专门的Graphics类,它相当于画布,提供各种绘制方法。 随机验证码生成器用了其中的几种方法 ①setColor( )用于指定上下文颜色,方法中接收一个Color类型的参数,如Color.WHITE等。 声明 public abstract void setColor(Color c); /**...

Miracle_cx的博客 1046

Java Web验证码类的测试

1.在java文件夹中添加个utils包,在包中创建一个名为StrUtil的java类。 2.在名为StrUtil的java类中打入随机验证码字符生成的代码。 package cn.edu.mju.project13zjl.utils; import java.util.Random; public class StrUtil { // 工具类一般添加静态 publi...

zjl5707的博客 246
上一篇: Java的Properties文件操作类
下一篇: make IT different
系统信息
系统信息 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄23年 2404粉丝 565原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值