JSP生成验证码源程序

js|程序|验证码

<%@ page contentType="image/jpeg" import="java.awt.*,
java.awt.image.*,java.util.*,javax.imageio.*" %>
<%
// 在内存中创建图象
int width=60, height=20;
BufferedImage image = new BufferedImage(width, height,
BufferedImage.TYPE_INT_RGB);

// 获取图形上下文
Graphics g = image.getGraphics();

// 设定背景色
g.setColor(new Color(0xDCDCDC));
g.fillRect(0, 0, width, height);

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

// 取随机产生的认证码(4位数字)
String rand = request.getParameter("rand");
rand = rand.substring(0,rand.indexOf("."));
switch(rand.length())
{
case 1: rand = "000"+rand; break;
case 2: rand = "00"+rand; break;
case 3: rand = "0"+rand; break;
default: rand = rand.substring(0,4); break;
}

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

// 将认证码显示到图象中
g.setColor(Color.black);
Integer tempNumber = new Integer(rand);
String numberStr = tempNumber.toString();

g.setFont(new Font("Atlantic Inline",Font.PLAIN,18));
String Str = numberStr.substring(0,1);
g.drawString(Str,8,17);

Str = numberStr.substring(1,2);
g.drawString(Str,20,15);
Str = numberStr.substring(2,3);
g.drawString(Str,35,18);

Str = numberStr.substring(3,4);
g.drawString(Str,45,15);

// 随机产生88个干扰点,使图象中的认证码不易被其它程序探测到
Random random = new Random();
for (int i=0;i<20;i++)
{
int x = random.nextInt(width);
int y = random.nextInt(height);
g.drawOval(x,y,0,0);
}

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

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

时间: 2024-10-03 00:56:27

JSP生成验证码源程序的相关文章

教你如何使用JSP生成彩色汉字验证码

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 一些网站采用了字母和数字的验证码,数字和字母加起来一共30多个,如果有心,还是能够通过方法识别出来. 我在网上看到一篇文章"jsp彩色验证码",我进行了加强,生成的验证码内容为汉字,可以方便应用在面向汉语网民的网站认证上. 当然,我还看到别人考虑的几种方法: 1.生成计算题,比如20+34*(23-12)=?,用户必须输入

jsp spring mvc 框架集成google kaptcha生成验证码实例教程

关于kaptcha介绍,我们就不说了,网上一堆的资料. 使用kaptcha可以方便的配置:    验证码的字体    验证码字体的大小    验证码字体的字体颜色    验证码内容的范围(数字,字母,中文汉字!)    验证码图片的大小,边框,边框粗细,边框颜色    验证码的干扰线(可以自己继承com.google.code.kaptcha.NoiseProducer写一个自定义的干扰线)    验证码的样式(鱼眼样式.3D.普通模糊--当然也可以继承com.google.code.kaptc

JSP动态生成验证码存储在session作用范围内_JSP编程

(1)在登录应用中,为防止恶意登录,常常需要服务器动态生成验证码并存储在session作用范围中,最后以图像形式返回给客户端显示 (2)下边的代码实现的功能:写一个JSP页,动态生成一个验证码,存储在session作用范围内,并以图像形式返回给客户端显示. 另写一个JSP页面,引用此JSP页面生成的验证码: authen.jsp代码如下: <%@ page import="java.awt.*,java.awt.image.*,java.util.*,com.sun.image.codec

javaWeb使用Kaptcha组件生成验证码_java

javaWeb之使用Kaptcha组件使用验证码   web.xml: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="h

java下使用kaptcha生成验证码_java

kaptcha是一个简单好用的验证码生成工具,通过配置,可以自己定义验证码大小.颜色.显示的字符等等.下面就来讲一下如何使用kaptcha生成验证码以及在服务器端取出验证码进行校验. 一.搭建测试环境 1.1.创建Web测试项目 新建一个Web项目,并将kaptcha-2.3.2.jar放在项目的WEB-INF/lib目录下,如下图所示: 1.2.在web.xml文件配置生成验证码的KaptchaServlet KaptchaServlet的详细配置如下: <?xml version="1

jsp页面验证码demo_JSP编程

在java后台中生成验证码的ImageIO传到前端页面显示,同时把验证码的value值传入session 中用于与用户输入的验证码进行匹配,在用户验证中使用ajax技术,在不刷新页面的同时进行验证码验证. 程序结构图: VerifyCodeUtils程序主要内容为通过java生成验证码的图片,以及验证码的value值,程序如下: package utils; import java.awt.Color; import java.awt.Font; import java.awt.Graphics

使用ashx文件生成验证码图片

 在vs2005中可以直接创建.ashx文件,其项目叫做一般处理程序,.ashx文件一般用来处理只有返回,二一般不回传的数据,比如动态生成图片,或者文字,以下为清清月儿博客上转载的一个用ashx动态生成验证码图片的代码. //绘制验证码图片ValidateImageHandler.ashx 1 <%@ WebHandler Language="C#" Class="ValidateImageHandler" %> 2  3 using System; 4

动态网页变静态:JSP生成静态HTML技术

js|动态|静态|网页 下面的一段代码是,使用jsp生成静态html <%@ page contentType="text/html;charset=GBK"%><%@page import="java.util.*"%><%@page import="java.io.*" %><% //在这里如果写成"WEB-INF\templates\template.htm"程序会报错 Stri

ASP程序无组件生成验证码

程序|无组件|验证码 一.无组件生成验证码-GIF格式 <%Option Explicit ' 显示声明 Class Com_GifCode_Class'''''''''''''''''''''''''''''''''''''''''''''' Author: Layen support@ssaw.net 84815733(QQ)' Thanks: Laomi, Laomiao, NetRube' 2006-01-02'''''''''''''''''''''''''''''''''''''''