使用java生成VerifyCode
VerifyCode.jsp
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <%@ page contentType="image/jpeg" import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*" pageEncoding="UTF-8" %> <%! 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); } %> <% try { //设置页面不缓存 response.setHeader("Pragma","No-cache"); response.setHeader("Cache-Control","no-cache"); response.setDateHeader("Expires", 0); out.println("01 _ verifyCode has created!!!"); String verifyCode = "9657";//(String)request.getSession().getAttribute(SessionConstant.LOGIN_USER_VERIFYCODE); //End Modify // 在内存中创建图象 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()); //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); } String num = ""; for (int i=0;i<4;i++){ num = verifyCode.substring(i, i+1); // 将认证码显示到图象中 g.setColor(new Color(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110)));//调用函数出来的颜色相同,可能是因为种子太接近,所以只能直接生成 g.drawString(num,13*i+6,16); } // 图象生效 g.dispose(); // 输出图象到页面 ServletOutputStream os = response.getOutputStream(); ImageIO.write(image, "JPEG", os); out.println("verifyCode has created!!!"); //加上后面的几句就是为了解决抛出的异常IllegalStateException os.flush(); os.close(); os=null; response.flushBuffer(); out.clear(); out = pageContext.pushBody(); } catch(Exception ex) { out.println("Exception:" + ex.toString()); } %>
调用方法:在需要调用VerifyCode的页面使用<image src="VerifyCode.jsp"/>即可
相关推荐
验证码(VerifyCode)是Web应用中常用的一种安全机制,用于防止自动化的机器人或者恶意脚本进行非法操作,比如注册、登录、评论等。在Java中,我们可以创建一个工具类来生成这种随机验证码,以增强系统安全性。下面...
生成验证码,直接创建VerifyCode实例,获取文字为getText()方法
VerifyCode.java验证码的java类,仅供参考。。。。。。。
VerifyCode,验证码,web应用; VerifyCode,验证码,web应用
VerifyCode图片验证码的自动生成
在Java Web开发中,我们可以使用Servlet和JSP来实现一个简单的图形验证码。以下将详细介绍如何利用这两个技术进行验证码的实现。 首先,理解验证码的基本原理:验证码是一种通过图像显示随机字符或数字的方式,用户...
verifyCode.jar
在这个"验证码verifyCode demo"项目中,我们将探讨如何使用Java来创建和验证这种图形验证码。关键涉及的技术包括`java.awt.Graphics`、`java.util.Random`和`javax.imageio.ImageIO`。 1. **java.awt.Graphics**: ...
Java作为一款流行的编程语言,提供了丰富的库和API来处理二维码生成与解析。同时,Base64是一种用于在网络上传输二进制数据的编码方式,它将二进制数据转化为可打印的ASCII字符。现在我们详细探讨如何在Java中实现...
VerifyCode.cs,验证码库文件
调用类自动生成验证码,可用于web项目的注册登录。详情看说明
验证码(VerifyCode)是互联网应用中广泛使用的一种安全机制,用于防止自动化的恶意操作,如机器人注册、垃圾邮件发送等。在这个例子中,我们有一个名为"VerifyCode"的类,它包含了生成验证码的功能。让我们深入了解...
- **后端技术**:JSP(Java Server Pages) - **服务器环境**:如Tomcat等支持JSP的服务器 - **前端展示**:通过浏览器展示生成的彩色验证码图片 - **编程语言**:Java #### 三、核心代码解析 ##### 1. 导入必要包...
在JSP(Java Server Pages)中,结合Servlet实现验证码功能,可以有效提升网站安全性。本文将深入探讨如何使用JSP和Servlet构建一个验证码登录程序。 ### 1. 验证码生成原理 验证码通常由随机生成的一串字符组成,...
@RequestMapping("/verifyCode") public class VerifyCodeController { @Autowired private SmsService smsService; @PostMapping("/send") public ResponseEntity<String> sendVerifyCode(@RequestParam(...
【标题】"VerifyCode.zip" 是一个包含Java编程语言实现的验证码生成系统,该系统具有图形用户界面(GUI)并且运用了神经网络技术。这个项目可能是作为学生的一个课程设计任务,目的是让学生掌握Java编程和神经网络的...
VerifyCode.class
VerifyCode Python生成随机验证码模块 安装 git clone https://github.com/TengTengCai/VerifyCode.git 该模块依赖Pillow图形处理库, 使用之前请先安装Pillow pip install pillow 使用 直接引入模块即可 from ...
在这个场景下,"gm-verifyCode:imageMagick verifyCode" 提到的是使用JavaScript配合ImageMagick库来创建和验证图像验证码的一个项目。ImageMagick是一个强大的命令行工具,可以处理各种图像格式,而JavaScript则常...
- `VerifyCode_Two`可能是一个包含验证码实现的Java类,它可能包含了生成验证码图像和验证用户输入的逻辑。这个类可能包括`generateCode()`用于生成验证码字符串,`createImage(String code)`用于绘制验证码图像,...