yxhxj2006
导航
BlogJava
首页
新随笔
联系
聚合
管理
<
2012年11月
>
日
一
二
三
四
五
六
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
留言簿
(7)
给我留言
查看公开留言
查看私人留言
随笔分类
J2EE(17)
(rss)
java(13)
(rss)
Javascipt
(rss)
Linux(3)
(rss)
PHP(4)
(rss)
SQL(12)
(rss)
励志(3)
(rss)
测试
(rss)
文章分类
paypal
(rss)
随笔档案
2016年6月 (1)
2015年12月 (1)
2015年11月 (1)
2015年10月 (1)
2015年8月 (1)
2015年6月 (1)
2015年5月 (3)
2015年4月 (6)
2015年3月 (1)
2015年2月 (4)
2015年1月 (4)
2014年12月 (6)
2014年11月 (1)
2014年9月 (3)
2014年6月 (2)
2014年5月 (5)
2014年4月 (3)
2014年3月 (3)
2014年2月 (15)
2014年1月 (11)
2013年12月 (1)
2013年11月 (8)
2013年10月 (6)
2013年9月 (2)
2013年8月 (19)
2013年7月 (1)
2013年6月 (1)
2013年5月 (3)
2013年4月 (3)
2013年3月 (5)
2012年12月 (3)
2012年11月 (4)
2012年10月 (1)
2012年9月 (25)
2012年8月 (54)
2012年7月 (10)
2012年6月 (7)
阅读排行榜
1. Hibernate实现有两种配置,xml配置与注释配置(49834)
2. 公钥与私钥 (42313)
3. 使用POI读取EXCEL中的所有Sheet表 (25886)
4. Maven实战(六)依赖(11932)
5. Oracle中把一个查询结果插入到一张表中(11018)
评论排行榜
1. 公钥与私钥 (31)
2. Hibernate实现有两种配置,xml配置与注释配置(4)
3. Java通过URL获取网站Html源代码 (3)
4. 让HTML中的文本框中的文字垂直居中 .(3)
5. struts2表单传值(2)
常用链接
我的随笔
我的评论
我的参与
最新评论
统计
随笔 - 228
文章 - 0
评论 - 53
引用 - 0
最新评论
1. re: 公钥与私钥
评论内容较长,点击标题查看
--chinaltang
2. re: 如何在magento中建立自定义页面
请问站长,你这个增加以下片段是在哪里增加的,还有你这是怎么显示出来页面呢,总要点击页面上的哪个东西跳转到这个页面吧,那点击跳转怎么操作
--王小丫
3. re: 公钥与私钥
343434
--zhangsa
4. re: 公钥与私钥
真的写的非常好,通俗易懂,但是不知道有demo没有,要是有求一份。
--Divella
5. re: Hibernate实现有两种配置,xml配置与注释配置[未登录]
sa
--sa
用java实现验证码
<%@ page contentType="image/jpeg" import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*" %>
<%!
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);
}
%>
<%
//设置页面不缓存
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_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));
// 随机产生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);
}
// 取随机产生的认证码(4位数字)
String codeList = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
String sRand="";
for (int i=0;i<4;i++){
int a=random.nextInt(codeList.length()-1);
String rand=codeList.substring(a,a+1);
sRand+=rand;
// 将认证码显示到图象中
g.setColor(new Color(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110)));//调用函数出来的颜色相同,可能是因为种子太接近,所以只能直接生成
g.drawString(rand,13*i+6,16);
}
// 将认证码存入SESSION
session.setAttribute("rand",sRand);
// 图象生效
g.dispose();
// 输出图象到页面
ImageIO.write(image, "JPEG", response.getOutputStream());
out.clear();
out = pageContext.pushBody();
%>
posted on 2012-11-14 23:34
奋斗成就男人
阅读(187)
评论(0)
编辑
收藏
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
Powered by:
BlogJava
Copyright © 奋斗成就男人