验证码代码
import java.awt.image.BufferedImage;
import java.awt.Graphics;
import java.awt.Font;
import java.util.Random;
import java.awt.Color;
import javax.imageio.ImageIO;
import java.io.File;
import java.io.FileOutputStream;
/**
@Author 007liuchao007 --> chenml--->Michael Sun
**/
public class CheckMa{
public static final String typeB="0123456789ABCDEFGHRJKLMNOPQRSTUVWXYZ";
public static final int Font_SIZE=15;
public static final String FONT_NAME="Fixedsys";
//设置图片宽和高
private int width=100;
private int height=30;
//设置随机数类
Random random=new Random();
//设置干扰线数量
private int lineNum=10;
//设置字符个数
private int charNum=4;
//测试一下
public static void main(String args[])throws Exception{
CheckMa check=new CheckMa();
BufferedImage tmpImage=check.getBufferedImage();
ImageIO.write(tmpImage,"JPEG",new FileOutputStream(new File("d:\\javaweb\\008.jpg")));
}
public BufferedImage getBufferedImage(){
BufferedImage imageBuffer= new BufferedImage(this.width,this.height,BufferedImage.TYPE_INT_BGR);
//定义一个Graphise类对封闭图像上绘制
Graphics g= imageBuffer.getGraphics() ;
//设定背景颜色
g.setColor(getColor(200,250));
//设定填充区域的矩形框
g.fillRect(0,0,this.width,this.height);
//设置干扰色的颜色
g.setColor(getColor(100,120));
//绘制干扰线
for(int i=0;i<lineNum;i++){
drawLine(g);
}
g.setFont(new Font(FONT_NAME, Font.ROMAN_BASELINE, Font_SIZE));
//绘制字符串
for(int i=0;i<charNum;i++){
g.setColor(new Color(random.nextInt(101),random.nextInt(111),random.nextInt(121)));
String imageString=String.valueOf(typeB.charAt(random.nextInt(typeB.length()))) ;
g.translate(random.nextInt(3), random.nextInt(3));
g.drawString(imageString, 20*i, 16) ;
}
g.dispose() ;//释放资源
return imageBuffer;
}
public void drawLine(Graphics g){
int x1=random.nextInt(this.width);
int y1=random.nextInt(this.height);
int x2=random.nextInt(15);
int y2=random.nextInt(15);
g.drawLine(x1, y1, x1+ x2,y1+y2);//绘制直线
// g.translate(random.nextInt(3), random.nextInt(3));
}
public Color getColor(int x,int y){
if(x>255)
x=255;
if(y>255)
y=255;
int r=x+random.nextInt(y-x);
int g=x+random.nextInt(y-x);
int b=x+random.nextInt(y-x);
return new Color(r,g,b);
}
}
[img]
[/img]
追版必究,使用著名来源 007liuchao007
- 大小: 1.4 KB
分享到:
相关推荐
### 登录界面的验证码代码详解 #### 一、概述 在现代互联网应用中,为了防止自动化工具或恶意脚本对网站进行攻击或者垃圾注册等行为,通常会在用户登录时加入验证码这一环节。本文将深入分析一份典型的登录界面...
ASP图形验证码代码ASP图形验证码代码ASP图形验证码代码ASP图形验证码代码ASP图形验证码代码ASP图形验证码代码ASP图形验证码代码ASP图形验证码代码ASP图形验证码代码ASP图形验证码代码ASP图形验证码代码ASP图形验证码...
c#验证码代码c#验证码代码c#验证码代码
在这个"asp验证码代码"中,我们可以深入探讨验证码的实现原理、ASP.NET验证码的创建过程以及如何在实际项目中应用。 验证码的主要目的是防止自动化程序(如爬虫)进行无效或有害的交互,例如批量注册、恶意投票或...
ASP验证码代码ASP验证码代码ASP验证码代码ASP验证码代码
首先,我们需要两个关键文件:一个ASP.NET网页(通常是.aspx文件)用于显示和生成验证码,以及一个后端处理代码(如.aspx.cs或.aspx.vb文件)用于生成随机字符串和图像。这两个文件将包含以下功能: 1. **生成随机...
本资源“JS登录注册表单滑块验证码代码.zip”提供了一种实现登录和注册表单切换验证功能的滑块验证码代码,它提升了用户界面的交互性和安全性。 滑块验证码是一种常见的防止自动化机器人或恶意软件攻击的安全机制,...
验证码全套代码,图片样式参考:...jar包里包含JAVA代码,web.xml和JSP页面代码,功能包括自定义图片尺寸和验证码长度,每个字符随机偏移角度,字符平滑边缘,含干扰线、噪点和背景扭曲。
综上所述,JSP验证码代码涉及了图像处理、随机数生成、HTTP会话管理等多个技术点。理解这些知识点有助于开发者构建更安全、更易用的Web应用。在实际开发中,还可以结合现有的开源验证码库,如JCaptcha或Google的...
在JAVAWeb开发中,实现验证码的方式多种多样,本教程将介绍三种可以直接使用的验证码生成方法,并提供详细的操作步骤和代码示例。 1. **基于图像的随机字符验证码** 这是最常见的一种验证码形式,它通过生成随机...
MyEclipse自动生产验证码,运行后可以生产一个MyEclipse 的CODE可以自定义user名称,永久性质的。很好用 ,自己一直在使用
自己正在使用的验证码代码,只有一小段,
JSP登陆页面实现验证码登陆的代码 JSP登陆页面实现验证码登陆的代码
在本案例中,"26种ASP验证码代码"是一个集合,提供了多种不同的验证码实现方式,适用于后台登录、会员登录等场景,以防止自动化的机器人或者恶意攻击者通过程序自动提交表单。 验证码的主要目的是验证用户是真实的...
jsp验证码代码jsp验证码代码jsp验证码代码jsp验证码代码jsp验证码代码jsp验证码代码jsp验证码代码jsp验证码代码jsp验证码代码jsp验证码代码jsp验证码代码jsp验证码代码jsp验证码代码
总的来说,验证码是网络安全的重要组成部分,理解其工作原理并能编写验证码代码对于开发人员来说是一项必备技能。通过学习和实践,你可以创建更加安全且用户友好的验证码系统,以保护网站免受恶意攻击。
验证码代码"涉及到的是一个与动态链接库(DLL)相关的验证码实现项目。DLL是一种可执行文件格式,它包含可由多个程序同时使用的代码和数据。在这个项目中,`Release_DLL`可能指的是发布版本的DLL文件,这通常意味着...