用jsp做个有彩纹的随机码(转载 liuxiantong110 原创)

验证码 在后台生成验证码 返回到jsp页面 这是一个纯粹有java api生成的一个验证码图片 立即下载
<%@ page contentType="image/jpeg" import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*" %>
<%!
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);
}
%>
<%
//设置页面不缓存
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);

// 在内存中创建图象
int width=60, 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));

//画边框
g.setColor(new Color(255,255,255));
g.drawRect(0,0,width-1,height-1);

// 随机产生155条干扰线,使图象中的认证码不易被其它程序探测到
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);
}

// 取随机产生的认证码(4位数字)
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);
}

// 将认证码存入SESSION
session.setAttribute("rand",sRand);

// 图象生效
g.dispose();

// 输出图象到页面
ImageIO.write(image, "JPEG", response.getOutputStream());

%>
基于jsp的4位随机彩色验证码 jsp的随机彩色4位验证码,用session 验证是否填写正确 立即下载

相关推荐

网易CodeWave智能生成应用实战:5分钟搞定库存管理系统(附详细配置截图)

本文详细介绍了如何利用网易CodeWave智能生成应用在5分钟内快速构建定制化库存管理系统。通过自然语言描述需求,无需编程即可生成包含产品管理、库存预警等核心功能的应用,并支持字段微调、业务流程注入等深度优化。文章附有详细配置截图,帮助用户高效实现数字化转型。

julia4scientist的博客 888

用jsp做个有彩纹的随机码

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-

Jimcs 853

睿思综述智能体:100篇高质量文献一键生成万字长文,还能联网PubMed,科研效率拉满!

对一个主题进行文献综述,是日常科研人绕不过去的工作,无论是写论文前言,综述论文,或者基金申请书的立项依据,需要根据主题,从海量文献中提取相关信息,梳理出清晰的逻辑线,再组织成流畅的文字。4 一键生成万字全文:大纲确认后,它会基于对所有论文的深度理解,逐个章节进行详细撰写,最终生成一篇逻辑连贯、内容翔实、引用规范的万字综述长文,并直接保存为Word(.docx)文件。3 智能撰写大纲:你可以提供自己的大纲,也可以让它根据所有文献内容,智能生成一个逻辑清晰的综述大纲,并支持你在此基础上修改。

dinaxuejie的博客 821

jsp实现注册页面,以及如何实现验证码,同时包含jsp异步请求实现用户名查询,防止出现用户名重复。

javaWeb注册页面前后端实现,以及验证码实现

zzjlmn的博客 1149

西门子S7-200 SMART PLC高速计数器与增量式编码器实战配置指南

在工业自动化控制系统中,传感器是将物理量转换为电信号的关键组件,其中编码器作为核心的位置与速度检测元件,其工作原理基于光电或磁电效应,将机械位移转换为脉冲序列。增量式编码器通过输出相位差90度的A/B两相脉冲,不仅能实现精确的位移测量,还能通过相位关系自动判别运动方向,并通过倍频技术提升分辨率。其技术价值在于为PLC等控制器提供了实时、高精度的位置反馈,是实现闭环控制、提升系统精度与可靠性的基础。在包装机械、物料输送、绕线设备等应用场景中,编码器与PLC高速计数器的协同工作是实现精确定位、定长切割与速度控制

weixin_29178069的博客 398

R3LIVE 1.0 适配 Velodyne 16线雷达:3步配置解决150米漂移问题

本文详细解析了R3LIVE 1.0适配Velodyne 16线雷达时出现的150米漂移问题,并提供三步配置方案。通过调整雷达类型设置、运动补偿与时间对齐、视觉-激光联合优化等关键参数,有效解决了系统漂移问题,提升定位精度。适用于机器人定位与建图领域的开发者。

weixin_29054195的博客 270

CRC校验码详解、常见算法实现及代码实例

在前面的文章中通过小例子的比喻,简单介绍过什么是CRC,这里再详细的讲解一次。CRC(Cyclic Redundancy Checksum)是一种纠错技术,代表循环冗余校验和。数据通信领域中最常用的一种差错校验码,其信息字段和校验字段长度可以任意指定,但要求通信双方定义的CRC标准一致。主要用来检测或校验数据传输或者保存后可能出现的错误。

huanxiajioabu的博客 4万+

代谢组学数据分析实战:用R语言从PCA、PLS-DA到OPLS-DA一步步搞定(附代码)

本文详细介绍了使用R语言进行代谢组学数据分析的全流程,从数据预处理到PCA、PLS-DA和OPLS-DA模型构建与验证。通过实际案例和代码示例,帮助研究者掌握关键分析技术,提升数据解读能力,特别适合生命科学领域的研究人员。

weixin_28689507的博客 133

Java实现生成和校验图片验证码(详细)

验证码校验是日常中很常见的场景,工作中难免会遇到了生成和校验验证码这样的需求,可以用Hutool工具类; hutool生成图片验证码的核心接口是ICaptcha,此接口定义了以下方法: createCode 创建验证码,实现类需同时生成随机验证码字符串和验证码图片 getCode 获取验证码的文字内容 verify 验证验证码是否正确,建议忽略大小写 write 将验证码写出到目标流中

weixin_47390965的博客 1万+

leetcode134 加油站

题目如下 在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。 如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。 说明: 如果题目有解,该答案即为唯一答案。 输入数组均为非空数组,且长度相同。 输...

ayang818 's blog 234

利用XGBoost实现短期电力负荷预测

本数据集为某地区2009年-2015年的用电负荷,时间片为每分钟这里我们定义了XGB模型作为实例,来进行模型训练,之后我们会对其使用网格搜索找到最优的参数。

优快云 精品推荐 4495

验证码生成及校验

1、生成验证码提供接口将生成的验证码存入session或redis,将验证码以图片格式或者base64编码串返回给调用端。2、校验验证码提供接口将收到调用端传过来的校验码,从session或redis取出验证码,两个验证码都全部转小写,进行无大小写区分匹配校验,返回true/flase。

Lxl1418的博客 1365

高频电磁场仿真-主题064-伴随变量法与灵敏度分析

在电磁器件优化设计中,梯度信息对于指导优化方向至关重要。考虑一个典型的电磁优化问题: 其中 p=[p1,p2,...,pn]Tp = [p_1, p_2, ..., p_n]^Tp=[p1​,p2​,...,pn​]T 是设计参数向量(如几何尺寸、材料参数等)。传统有限差分法的困境:示例: 一个具有100个设计参数的天线优化问题伴随变量法(Adjoint Variable Method, AVM)通过引入伴随场,将梯度计算复杂度从 O(n)O(n)O(n) 降低到 O(1)O(1)O(1):伴随变量法在计算

kkchenjj的博客 413

Spring Boot 实现验证码生成与校验:从零开始构建安全登录系统

在当今的互联网世界中,验证码系统(CAPTCHA)已成为Web安全体系中不可或缺的一环。它通过要求用户完成特定的人机交互任务(如识别图像、拖动滑块或输入随机字符),有效区分“人类用户”与“自动化程序”,从而防止机器人攻击、暴力破解、垃圾信息泛滥等安全威胁。安全性问题:简单文本验证码可能被OCR技术识别,甚至被AI模型破解;用户体验问题:复杂的验证码可能增加用户操作成本,尤其在移动端场景下。因此,如何在安全性与用户体验之间取得平衡,成为开发者设计验证码系统时的核心考量。本文将以。

eternal__day的博客 2222

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

随机产生验证码

1、servlet import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.IOException; import java.util.Random; import javax.imageio.Image

578

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Java 生成验证码的五种方式、源码、过程、结果

使用Java基本的逻辑和方法生成所需要的验证码,且生成的验证码包含大小写字母和数字,当然啦,也有纯数字的验证码。每一个方式都有详细的注释解析😆😆😆第一种方式 Random随机数类生成验证码第一种方式,是在main方法中生成的验证码,想要获取最终结果的小伙伴,可以把最后的for循环删除,然后把里面的代码提取成一个方法哦😊😊😊运行结果第二种方式 洗牌算法实现验证码这种方式实现的验证码很新奇,基本是不常见的验证码,会发现他生成的验证码出奇的乱,很少见😁😁😁运行结果。

回忆在这里记录着 6869

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

生成网页验证码(图片格式)

效果:网页验证码,每过去5s生成一张新的7位验证码图片。不断地练习,进而熟练,从而掌握。

lenard-lhz的博客 1409

JQuery 实现随机生成 数字+字母 验证码

原文地址:https://www.jb51.net/article/117132.htm 效果图 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, i...

爪白白的个人博客 4509

校验码生成

校验码生成

多看多听多总结 547

java验证码生成代码_java实现简单验证码生成

本文实例为大家分享了java验证码生成的具体代码,供大家参考,具体内容如下简单验证码java实现--servlet类生成 验证码img,并写入session老师给的源码,在此做个记录,简单验证码,java绘图在此鸣谢并附上源码:.//package app61;import java.io.*;import java.util.*;import com.sun.image.codec.jpeg.*...

weixin_34475062的博客 714

CRC校验码产生器设计(verilog)

CRC校验码概述 冗余编码是在二进制通信系统中常用的差错检测方法,它是通过在原始数据后加冗余校验码来检测差错,冗余位越多,检测出传输错误的几率越大。循环冗余编码(Cyclic Redundancy Codes,简称CRC)是一种常见的冗余编码,CRC校验的基本原理是:CRC可由一称为生成多项式的常数去除该数据流的二进制数值而得,商数被放弃,余数作为冗余编码追加到数据流尾,产生新的数据流进行发送。在接收端,新的数据流被同一常数去除,检查余数是否为零。如果余数为零,就认为传输正确,否则就认为传输中已发生差错,该

spx1164376416的博客 2936

简单的校验码生成

1. 首先创建一个 Servlet 类 CaptcheController 2.重写 HTTPServlet 中的 service()方法,实现随机数生成。 了解Servlet中service()方法 重写service方法代码: package cn.edu.mju.project1.controller; //导入HttpServlet包 import javax.servlet.http...

weixin_43486332的博客 1001

生成验证码的三种方式

public static void main(String[] args) { int nums = 1000000; // 循环次数 //-------------------------第一种------------------------- long start = System.currentTimeMillis(); Random random = new Random(); for (int i = 0; i &...

weixin_49149614的博客 5297

验证码的生成

验证码的生成 在很多软件登录的时候,会用到验证码,如下图所示。 那么接下来就给大家分享一下验证码生成的方法。希望对大家有所帮助 在控制器定义一个方法 首先声明一个字符串,可以直接赋值为固定的字符串,也可以生成一个随机字符串 例如:string strRandom = "abc"; string strRandom = ValidCodeUtils.GetRandomCode(5); 随机生成一个5位数的字符串 注:ValidCodeUtils.GetRandomCode是创建类里面定义的方

weixin_57727548的博客 2562
上一篇: hibernate优化
Luckytech
博客等级 码龄22年 0粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值