<%@ page language="java" contentType="image/jpeg"
pageEncoding="gb2312"%>
<%@ page import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*"%>
<%!
Color getRandColor(int fc,int bc){
Random rand=new Random();
if(fc>255) fc=255;
if(bc>255) bc=255;
int r=fc+rand.nextInt(bc-fc);
int g=fc+rand.nextInt(bc-fc);
int b=fc+rand.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_BGR);
//获取图像
Graphics g=image.getGraphics();
//生成随机类
Random rand=new Random();
//设定背景颜色
g.setColor(getRandColor(200,250));
g.fillRect(0,0,width,height);
//设定字体
g.setFont(new Font("Times New Roman",Font.PLAIN,18));
//随机产生155条干扰线,使图象中的认证码不易被其它程序探测到
g.setColor(getRandColor(160,200));
for(int i=0;i<155;i++){
int x=rand.nextInt(width);
int y=rand.nextInt(height);
int x1=rand.nextInt(12);
int y1=rand.nextInt(12);
g.drawLine(x,y,x+x1,y+y1);
}
//取随机产生的4位验证码
String sRand="";
for(int i=0;i<4;i++){
String strRand=String.valueOf(rand.nextInt(10));
sRand+=strRand;
//将验证码显示到图像中
g.setColor(new Color(20+rand.nextInt(110),20+rand.nextInt(110),20+rand.nextInt(110)));
g.drawString(strRand,13*i+6,16);
}
//将验证码放入session
session.setAttribute("rand",sRand);
g.dispose();
//输出图象到页面
ImageIO.write(image, "JPEG", response.getOutputStream());
%>
分享到:
相关推荐
Java彩色验证码Java彩色验证码Java彩色验证码Java彩色验证码Java彩色验证码JavaJava彩色验证码Java彩色验证码Java彩色验证码Java彩色验证码Java彩色验证码Java彩色验证码Java彩色验证码
Java生成彩色验证码是一种常见的安全措施,用于防止自动化脚本或恶意机器人进行非法操作,例如注册、登录等。在Web开发中,JSP(JavaServer Pages)可以用来创建动态的网页内容,包括验证码图像。以下是对标题和描述...
java 生成彩色验证码的程序,改程序可以极大的帮助你,是你可以自动生成彩色的验证码
java生成验证码源码包括彩色验证码 包括jsp生成验证码和彩色验证码
在IT行业中,验证码是一种常见的安全机制,用于防止自动化的机器人或恶意软件进行非法操作,如批量注册、垃圾邮件发送等。本教程将深入探讨如何...学习并掌握这些知识点,对于理解和实现JSP彩色验证码功能至关重要。
Java 彩色验证码的生成是Web开发中一个重要的安全机制,用于防止自动化程序(如机器人)非法操作,比如注册、登录等。在这个话题中,我们将深入探讨如何在Java中创建彩色且具有挑战性的验证码。 首先,验证码的核心...
在本实例中,我们关注的是一个基于Java实现的彩色验证码源码。Java是一种跨平台的编程语言,以其强大、灵活和易用性而闻名,特别适合开发这种类型的应用。 验证码的生成通常包括以下几个步骤: 1. **随机字符生成*...
一个简单的生成彩色验证码的例子,部分代码if (r1 == 13) { r2 = random.nextInt(7); //生成0到7之间的随机数 } else { r2 = random.nextInt(16); //生成0到16之间的随机数 } String str_r2 = rBase[r2]; // ...
在类中定义了图像的宽度和高度,并在`service`方法中初始化了一个`BufferedImage`对象,用以存储生成的彩色验证码图片。 ```java private int width = 60; private int height = 20; protected void service...
从提供的文件信息中,我们可以提取以下知识点关于Java图形界面可视化彩色验证码的实现: 1. 验证码的生成与刷新机制: Java中的验证码通常用于区分用户与机器,通过生成一个随机的、用户需要识别的字符序列来实现。...
本主题聚焦于使用Java服务器页面(JSP)技术来实现彩色验证码。JSP是Java的一种动态网页技术,它允许开发者在HTML中嵌入Java代码,从而生成动态内容。 验证码的实现通常包括以下几个步骤: 1. **生成随机字符**:...
本文将详细讲解Java环境下实现验证码识别的基本原理和步骤,并结合提供的源码进行深入解析。 首先,验证码的主要目的是为了防止自动化的机器人程序进行非法操作,例如批量注册、恶意登录等。验证码通常由一串随机...
在这个提供的压缩包中,包含的是一个基于Java实现的彩色验证码生成与验证的功能代码,适用于网页安全验证,防止自动机器人或恶意攻击。验证码通常由随机字符组成,目的是确保用户是人类而非自动化程序。 1. **彩色...
彩色验证码的实现是通过创建难以由计算机识别的图像来完成这一目标,而人类用户相对容易识别。 本主题涉及的主要知识点包括: 1. **Servlet技术**:Servlet是Java编程语言中用于处理HTTP请求的服务器端组件。在...
在实际开发中,这个Java彩色验证码的实现可以帮助提高网站的安全性,同时也为用户提供了一种美观且有效的验证方式。开发者可以通过阅读源码学习验证码的实现原理,也可以根据自己的需求调整代码,以适应不同的项目...
根据给定的信息,本文将详细解释彩色扭曲验证码的生成原理及其相关实现技术。 ### 彩色扭曲验证码概述 彩色扭曲验证码是一种图形验证码形式,通过在验证码图像中加入颜色、字体变化以及扭曲效果来提高其安全性与防...
本篇文章将详细介绍如何在JSP中实现彩色验证码,包括汉字和数字的生成。 首先,我们需要理解验证码的基本原理。验证码通常由随机生成的一串字符组成,这些字符可能是字母、数字或者汉字,它们被扭曲、旋转、加噪以...
本源码就是一种实现JSP彩色验证码的方法,旨在帮助开发者快速构建具有高安全性和视觉吸引力的验证码功能。 首先,我们需要了解JSP的基本概念。JSP是Java Servlet技术的一种简化,它允许将HTML代码与Java代码混合...
消除验证码上的干扰,抛砖引玉,大家见笑。
中文彩色验证码实现(变形\噪点\点击更换) 一个中文彩色验证码程序,实现了文字的变形,随机噪点及点击更换验证码,代码非常简单,适合入门的朋友