简单验证码业务

 1 //生成图片响应流,返回给客户端
 2         //之前是text/html
 3         //a.设置响应类型为图片
 4         response.setContentType("image/jpeg");
 5         //b.创建出图片对象        BufferedImage(0, 0, 0):参数1图片宽度   参数2图片高度    参数3  图片的像素
 6         BufferedImage image = new BufferedImage(70, 30, BufferedImage.TYPE_INT_RGB);
 7         Graphics g = image.getGraphics();//获取该图片对象的画笔对象
 8         //c.画背景  设置灰色背景
 9         g.setColor(Color.GRAY);
10         g.fillRect(0, 0, 70, 30);//通过填充矩形的方式,将整个画的内容填满
11         //d.画字符串
12         //随机生成5位数的数字字符串
13         Random r = new Random();
14         int num = r.nextInt(100000-10000)+10000;  //10000~99999
15         String code =String.valueOf(num);//转换成字符串
16         //将生成的字符串验证码放入session中 绑定到code属性上
17         HttpSession session = request.getSession();
18         session.setAttribute("code", code);
19
20         //设置字体颜色,设置字体
21         g.setColor(Color.BLUE);
22         g.setFont(new Font("Consolas",Font.BOLD,20));
23         //将字符串画在内存中的图片对象上
24         g.drawString(code, 5, 20);
25         //画一些线条,增加破解难度
26         g.setColor(Color.BLACK);
27         g.drawLine(r.nextInt(70),r.nextInt(30),r.nextInt(70),r.nextInt(30));
28         g.drawLine(r.nextInt(70),r.nextInt(30),r.nextInt(70),r.nextInt(30));
29         g.drawLine(r.nextInt(70),r.nextInt(30),r.nextInt(70),r.nextInt(30));
30         g.drawLine(r.nextInt(70),r.nextInt(30),r.nextInt(70),r.nextInt(30));
31
32         //e.将图片对象通过流的方式响应回给页面
33         //write(im, formatName, output):  im是图片对象     formatName 是设置图片的格式   output是输出流对象
34         ImageIO.write(image, "JPEG", response.getOutputStream());
时间: 2024-10-13 22:39:12

简单验证码业务的相关文章

验证码识别与生成类API调用的代码示例合集:六位图片验证码生成、四位图片验证码生成、简单验证码识别等

以下示例代码适用于 www.apishop.net 网站下的API,使用本文提及的接口调用代码示例前,您需要先申请相应的API服务. 六位图片验证码生成:包括纯数字.小写字母.大写字母.大小写混合.数字+小写.数字+大写.数字+大小写等情况. 四位图片验证码生成:包括纯数字.小写字母.大写字母.大小写混合.数字+小写.数字+大写.数字+大小写等情况. 简单验证码识别:验证码类型 : 数字+字母, 纯英文, 纯数字,计算题 英数_验证码识别:纯数字,纯英文,数字+英文 中英数_验证码识别:英文.数

php基础之gd图像生成、缩放、logo水印和简单验证码实现

php基础之gd图像生成.缩放.logo水印和简单验证码实现 阅读目录 图像生成 缩略图 水印生成 验证码 gd 库是php最常用的图片处理库之一(另外一个是imagemagick),可以生成图片.验证码.水印.缩略图等等.要使用gd库首先需要开启gd库扩 展,windows系统下需要在php.ini中将extension=php_gd2.dll 前边的分号去掉然后重启web服务器,linux系统下一般在编译php时已经开启gd库扩展,要是没有开启gd库扩展则需要先编译安装freetype ,j

简单 验证码 功能

在贴代码之前首先简述一下验证验证码原理:随机获取验证码的值,把这个值存到session中,其作用可想而知就是要拿来跟前台数据作比较,通过Graphics将值进行模糊处理之后传到前台页面展示. 1 package com.skss.util; 2 3 4 import java.awt.Color; 5 import java.awt.Font; 6 import java.awt.Graphics; 7 import java.awt.image.BufferedImage; 8 import

C#简单验证码码识别

写在最前 最近做一个小玩意需要识别验证码,之前从来没接触过验证码识别这块,这可难到了我.所以,只有三番五次的麻烦度娘帮我找找验证码识别这块的资料.所幸,许多前辈分享的博文帮到了我.最终,完美的把问题解决. 我要识别的验证码属于非常简单的一种,如下图: 1.图片灰度化(把彩色的验证码图片转换成灰色图片) for(int i = 0; i < bmp.Width; i++) { for(int j = 0; j < bmp.Height; j++) { Color color = bmp.GetP

简单验证码的识别

验证码图片均取自于国内某知名信息安全网站,通过图像处理.模板对比识别等步骤,实现了该类简单验证码图片的识别功能.同时对程序实现了可视化界面,并集成了(验证码)图片下载.(灰度值)门限手动调节等扩展功能.代码存在github,传送门请戳我. 一.程序内容及原理 本程序以Python实现,主要借助了PIL(Python Image Library,实现读取图片.读取灰度值等图像处理相关功能)及tkinter(实现界面设计相关功能)两个库.图像处理及识别的主程序的总体流程如下:导入(读取)验证码图片,

php笔记之GD库图片创建/简单验证码

燕十八 公益PHP培训 课堂地址:YY频道88354001 学习社区:www.zixue.it php画图:比如说验证码,缩略图,加水印都要用到GD库,所以要开启gd2库,才能用 首先找到php.ini中extension=php_gd2.dll  去掉前边的分号,然后重启apache,创建图片就可以用了 /* 画图的一般步骤: 1.创建画布 2.创建颜料 3.画图或者写字 4.保存 5.销毁资源 */ //创建画布 $img=imagecreatetruecolor(300,200); //创

C# 生成简单验证码

网站登录总是会用到验证码,生成验证码对于C#来说很简单.因为有专门封装好的GDI+类可以直接调用使用具体代码如下 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.UI; 6 using System.Web.UI.WebControls; 7 using System.Drawing; 8 9 namespace Ajax

java生成简单验证码图片

概要 最近项目需要用java实现输出随机验证码图片到前台,正好有机会接触下java的绘图类,完成需求后也有时间做个总结,写篇随笔记录下也希望能帮助到有同样需求的人! 需求流程图 1.生成随机数 在java中生成随机数无非就是调用Random的api,但为了后续更好的实用,应该分成多种组合以适应需求的变化,应将生成随机数的个数和类型组合还有排除字符抽取成参数,这个也比较简单,没有什么难度,就直接贴上代码 1 /** 2 * 生成随机验证码 3 * @param type 类型 4 * @param

用Java画简单验证码

以下是具体代码: package com.jinzhi.tes2; import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.image.BufferedImage;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.I