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);
}
}
相关推荐
Grok 3国内怎么用?超详细使用指南+实用指令模板
主要是用于快速分析学术论文,提取关键信息,总结研究成果。Analyze the following research paper: [粘贴或上传论文内容]1. Extract key findings, methodologies, and conclusions. (提取主要发现、方法和结论。2. Identify statistical significance and data points. (识别统计显著性和数据点。
Java生成随机密码
Java编程逻辑的生成随机密码代码
手把手教你用STM32F303和LAN9252搭建EtherCAT从站(附IO/AD/DA完整代码)
本文详细介绍了如何使用STM32F303和LAN9252搭建EtherCAT从站,涵盖硬件选型、开发环境配置、协议栈移植及IO/AD/DA功能实现。通过实战指南和完整代码,帮助开发者快速掌握工业自动化中的实时通信技术,提升系统性能与可靠性。
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...
如何创建属于自己的大语言模型:从零开始的指南
随着人工智能的快速发展,大语言模型(LLM)在各种场景中表现出了卓越的能力,例如文本生成、对话交互和内容总结等。本文将带你了解创建 LLM 的核心步骤,从理论到实践,让你拥有一个自己的智能助手。
点到面点云配准(Point To Plane)算法知识详解和详细推导,C++代码实现
点到面 ICP (Iterative Closest Point) 是在 3D 点云配准中常见的一种变体,通过最小化点到对应面(由法向量定义的局部平面)的距离来提高收敛速度和精度。
利用String类生成随机验证码案例JAVA
利用String类生成随机验证码案例JAVA
cartographer ceres后端优化
这里引用一篇文章作用一:用户可以选择使用Problem::AddParameterBlock显式添加参数块;在显式添加的时候ceres会内部进行额外的正确性检查。当Problem::AddParameterBlock()不存在时,Problem::AddResidualBlock()会隐式添加参数块,因此不需要显式调用Problem::AddParameterBlock()函数。ps:类似构造函数,显式构造函数。
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 { //随机字符
YOLOv10改进 | 主干篇 | 引入FasterNet:Run, Don‘t Walk,追求更快的神经网络
本文引入了 FasterNet 作为 YOLOv10 的主干网络。通过 PConv 算子,我们有效降低了模型的计算冗余。对于追求极致推理速度的场景(如树莓派、Jetson Nano),该改进方案极具价值。建议在训练时配合混合精度训练 (AMP)进一步加速。
锂电池充放电管理-单片机通用模版
- **①两节锂电池通过电阻分压检测ADC,再根据电压划分电量等级;** - **②充电使用的是锂电池充电IC方案,可通过硬件电阻参数调节充电电流,并可以通过STAT引脚检测充电和满电状态(充电注意会抬高电压);** - **③放电根据ADC_BAT检测电池电量进行等级划分(注意大负载电压骤降瞬间);** - **④充放电过程注意在电量划分等级临界值来回抖动现象;**
随机生成验证码-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...
YOLO11改进:轻量级改进 | 通用倒瓶颈(UIB)搜索块结合C3k2二次创新 | 轻量化之王MobileNetV4
通用倒瓶颈(UIB)搜索块替代YOLO11的C3k2
写一个随机生成验证码的类(Java)
首先创建一个类的成员变量: // w,h为图片的宽高 private int w= 70; private int h= 35; //创建一个Random类的对象 private Random r = new Random(); //字体数组 private String[] fontName = {"宋体","华文楷体","黑体","微软雅黑&q
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...
android 蓝牙通讯demo
android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。
java 生成随机md5_Java常用工具类(计算MD5,验证码随机生成,天数差值计算)
写这个博文的目的是为了怕哪天自己的电脑崩溃了,以前写的那些代码就没了,所以将自己写的工具类贴出来,方便以后去使用,也避免自己反复去创造轮子,也可以对这些方法进行简单修改来完成业务需求,这样就可以极大的提高开发的效率。方法一:计算字符串的MD5的值使用方法很简单,直接把值传入方法中就可以了,会返回一个字符串String注意去获取。public final static String calculat...
深度学习工具包 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');```[](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...
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
Java 随机生成验证码生并验证
Java 随机生成验证码并验证 功能简介 验证码字符集 验证码字符一般都是在09,az,A~Z 共62个字符中随机生成n个字符,且允许错三次。 所以可以创建一个集合(codes)。 private int counter = 3; //允许错误的次数 private int index; //code数组下标,初始值为0 private char[] codes = new cha
Java生成随机n位数验证码
在Java开发中,生成随机验证码是一个常见的需求,特别是在Web开发中用于用户验证。本文将介绍一种简单的方法来生成随机n位数验证码。
java中阿里短信服务(附带随机短信验证码生成类) --菜鸟小回
java中阿里短信服务(短信验证码) 文章目录java中阿里短信服务(短信验证码)1. 创建签名2. 创建模板3. 测试验证码功能4. 查看Api Demo5. 获取AK信息6. 复制Api Demo到eclipse;复制依赖到pom.xml7.自建工具类 1. 创建签名 如下位置创建签名,等待审核通过 2. 创建模板 如下位置创建模板,等待审核通过 3. 测试验证码功能 填写相...
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...
用Java编写随机验证码生成器
用Java编写随机验证码生成器 很多GUI程序都需要在组件上绘制图形,在java.awt包中提供了一个专门的Graphics类,它相当于画布,提供各种绘制方法。 随机验证码生成器用了其中的几种方法 ①setColor( )用于指定上下文颜色,方法中接收一个Color类型的参数,如Color.WHITE等。 声明 public abstract void setColor(Color c); /**...
Java Web验证码类的测试
1.在java文件夹中添加个utils包,在包中创建一个名为StrUtil的java类。 2.在名为StrUtil的java类中打入随机验证码字符生成的代码。 package cn.edu.mju.project13zjl.utils; import java.util.Random; public class StrUtil { // 工具类一般添加静态 publi...
1万+



被折叠的 条评论
为什么被折叠?



