我使用的是一个工具jsp页面
image.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@page import="java.awt.image.BufferedImage"%> <%@page import="java.awt.Graphics2D"%> <%@page import="java.awt.Color"%> <%@page import="java.awt.Font"%> <%@page import="javax.imageio.ImageIO"%> <% int width = 60; int height = 20; // 创建具有可访问图像数据缓冲区的Image BufferedImage buffImg = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics2D g = buffImg.createGraphics(); // 创建一个随机数生成器 Random random = new Random(); g.setColor(Color.WHITE); g.fillRect(0, 0, width, height); // 创建字体,字体的大小应该根据图片的高度来定 Font font = new Font("Times New Roman", Font.PLAIN, 24); // 设置字体 g.setFont(font); // 画边框 g.setColor(Color.BLACK); g.drawRect(0, 0, width - 1, height - 1); // 随机产生160条干扰线 g.setColor(Color.LIGHT_GRAY); for (int i = 0; i < 160; i++) { int x = random.nextInt(width); int y = random.nextInt(height); int x1 = random.nextInt(12); int y1 = random.nextInt(12); g.drawLine(x, y, x + x1, y + y1); } // randomCode 用于保存随机产生的验证码 StringBuffer randomCode = new StringBuffer(); int red = 0, green = 0, blue = 0; // 随机产生4位数字的验证码 for (int i = 0; i < 4; i++) { // 得到随机产生的验证码数字 String strRand = String.valueOf(random.nextInt(10)); // 产生随机的颜色分量来构造颜色值 red = random.nextInt(110); green = random.nextInt(50); blue = random.nextInt(50); // 用随机产生的颜色将验证码绘制到图像中 g.setColor(new Color(red, green, blue)); g.drawString(strRand, 13 * i + 6, 16); randomCode.append(strRand); } // 将四位数字的验证码保存到session中 //HttpSession session = request.getSession(); session.setAttribute("randomCode", randomCode.toString()); // 禁止图像缓存 response.setHeader("Pragma", "no-cache"); response.setHeader("Cache-Control", "no-cache"); response.setDateHeader("Expires", 0); response.setContentType("image/jpeg"); // 将图像输出到servlet输出流中 ServletOutputStream sos = response.getOutputStream(); ImageIO.write(buffImg, "jpeg", sos); sos.close(); //sos = null; out.clear(); out = pageContext.pushBody(); %>
使用
<div class="chknumber"> <label>验证码: <input type="text" name="user.imageCode" id="chknumber" maxlength="4" class="chknumber_input" /> </label> <img src="<%=request.getContextPath()%>/common/image.jsp" height="15"/> </div>
在登录页面加载时在jsp页面随机生成四位数字 ,并将数字打印在图片上显示出来,同时将数字保存在session中,我这保存起名用 randomCode 登录验证时就可以
String imageCode = (String) session.getAttribute("randomCode");
做对比,
效果
相关推荐
在这个"易语言次世代验证码系统简单使用实例"中,我们将探讨如何利用易语言构建一个基本的验证码系统。 验证码是一种常用的安全机制,用于验证用户是否为真实的人,防止恶意自动化的机器人或脚本进行操作。次世代...
本篇文章将详细讨论验证码的基本原理,以及如何使用Java实现简单的验证码破解方法。请注意,了解验证码破解知识主要是为了提高网站安全意识,避免自身系统被攻击,而不是用于恶意破解他人系统。 验证码的类型主要有...
易语言简单验证码识别源码,简单验证码识别,计算验证码,判断一下,判断相差值
这个"安卓简单验证码demo"提供了一个基本的实现,帮助开发者理解如何在Android平台上创建自定义视图来绘制随机的验证码。下面我们将深入探讨相关的知识点。 首先,验证码的核心功能是生成随机的、难以自动识别的...
虽然这个验证码源码简单,但安全性较低,因为它没有对验证码进行加密。在实际应用中,考虑到安全性和用户体验,可以考虑以下优化: - 使用更复杂的字符串生成算法,提高破解难度。 - 实现图片验证码的动态加载,防止...
在这个C#验证码范例中,我们将探讨如何创建一个简单的验证码生成器。 首先,验证码的基本原理是生成一组随机字符,通常是数字和字母的组合,然后将其显示给用户。用户需要在输入框中正确输入这些字符以验证他们的...
尽管现代的机器学习技术已经能处理一些简单的验证码,但汉字验证码由于其复杂性和多变性,仍能提供相对较高的防护级别。不过,随着技术的进步,验证码的设计也需要不断更新,以应对新的安全挑战。
本资料包“简单验证码样本集.zip”包含了一个针对简单验证码的训练集,总计10000个样本,每个验证码由四个字符组成,这为开发验证码识别系统提供了基础数据。 验证码的种类多样,包括图像验证码、音频验证码、数学...
本篇文章将详细探讨基于JavaScript的验证码插件,特别是针对“js验证码插件,简单易用,图片验证码”的主题,以及如何通过附带的示例(demo)快速上手。 1. **JavaScript验证码原理** JavaScript验证码通常包含两...
本文将详细介绍“通用验证码识别工具套件(简单验证码)”及其相关知识点。 该工具套件专为识别简单类型的验证码设计,允许用户自定义配置以适应不同的验证码样式,提升了验证码识别的通用性。这样的工具在某些场景...
在使用验证码时,我们可以将其与用户输入的验证码进行比较,以验证用户的身份。如果验证通过,则允许用户登录系统。 本文详细介绍了如何使用 C# 生成登陆验证码代码。该代码可以帮助开发者快速实现验证码功能,以...
综上所述,这个“简单验证码生成jar包”提供了一种快速集成验证码功能的方法,适用于那些希望在自己的Java应用中加入验证码验证的开发者。通过阅读`readme.txt`文件,我们可以获取关于如何利用`code_kyle_1.1.jar`...
在本项目"简单验证码.zip"中,验证码功能被应用于登录界面,增加了安全性,确保登录的是真实的人而非自动化程序。 【JSP(JavaServer Pages)】 JSP是Java平台上的服务器端脚本语言,用于创建动态网页。在本项目中...
这个demo可能展示了如何将验证码发送到服务器的简单HTTP请求,如使用`Retrofit`或`Volley`库。 5. **错误处理**:当用户输入的验证码不正确时,界面应该有相应的反馈。这个demo可能包含错误处理逻辑,如显示错误...
本文将详细介绍如何使用Vue框架来实现滑动验证码功能,为读者提供一个实现前端校验验证码的实例。 首先,我们要了解验证码的基本原理。验证码分为前后端校验两个阶段。前端校验主要防止自动化程序(机器人)进行...
【简单验证码ASP.NET程序】是一种基于ASP.NET技术开发的简单但功能齐全的验证码生成系统。在Web应用中,验证码主要用于防止自动化的恶意机器人或者爬虫进行非法操作,如注册、登录、评论等,确保用户交互的安全性。...
在JAVAWeb开发中,实现验证码的方式多种多样,本教程将介绍三种可以直接使用的验证码生成方法,并提供详细的操作步骤和代码示例。 1. **基于图像的随机字符验证码** 这是最常见的一种验证码形式,它通过生成随机...
这里给出源代码都是非常简单的源代码,学过《C程序设计》的都可以看懂,不会超出书本范围,而且不使用指针,这样VB,Delphi,JAVA 等语言都可以照此写出相应的源代码。 验证码识别可以分为三个大的步骤:预处理,...
JavaWeb使用验证码实现简单登录 在JavaWeb开发中,验证码是一种常用的安全机制,用于防止机器人和恶意攻击。下面将详细介绍如何使用验证码实现简单登录功能。 验证码的原理 验证码的原理是基于HTTP协议的请求响应...
在本主题中,我们将深入探讨如何使用C#语言实现一个简单的验证码系统,主要涉及以下几个核心知识点: 1. **验证码的基本原理**: 验证码通常由一组随机字符(数字、字母或符号)组成,显示在图像上,用户需要手动...