| 网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 |
![]() |
| Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道 |
g.setColor(getRandColor(160, 200));
//生成随机线条
for (int i = 0; i < 155; i++) {
中国网管论坛bbs.bitsCN.com
int x = random.nextInt(width - 1);
int y = random.nextInt(height - 1);
网管论坛bbs_bitsCN_com
int xl = random.nextInt(6) + 1;
int yl = random.nextInt(12) + 1;
g.drawLine(x, y, x + xl, y + yl);
网管bitscn_com
}
for (int i = 0; i < 70; i++) { 网管朋友网www_bitscn_net
int x = random.nextInt(width - 1);
网管朋友网www_bitscn_net
int y = random.nextInt(height - 1);
int xl = random.nextInt(12) + 1; 中国网管论坛bbs.bitsCN.com
int yl = random.nextInt(6) + 1; 网管朋友网www_bitscn_net
g.drawLine(x, y, x - xl, y - yl); 网管论坛bbs_bitsCN_com
}
String sRand = ""; 网管u家bitscn.net
//生成随机的字符串并加入到图片中 网管u家www.bitscn.net
int LEN = 2; //控制随机码的长度
中国网管联盟bitsCN.com
for (int i = 0; i < LEN; i++) {
String tmp = getRandomChar();
网管u家u.bitsCN.com
sRand += tmp;
网管网www.bitscn.com
g.setColor(new Color(20 + random.nextInt(110), 20 + random 网管联盟bitsCN@com
.nextInt(110), 20 + random.nextInt(110))); 网管网www_bitscn_com
g.drawString(tmp, 15 * i + 10, 15); 网管u家bitscn.net
}
网管联盟bitsCN@com
网管bitscn_com
HttpSession session = request.getSession(true); 中国网管论坛bbs.bitsCN.com
log.debug("随机生成的字符串为"+sRand); 网管论坛bbs_bitsCN_com
//将其自动转换为小写。也就是说用户在输入验证码的时候,不需要区分大小写,方便输入。
session.setAttribute("randomImageStr", sRand.toLowerCase());
log.debug("从session中取出来"+session.getAttribute("randomImageStr"));
网管bitscn_com
g.dispose();
网管论坛bbs_bitsCN_com
ImageIO.write(image, "JPEG", response.getOutputStream()); 网管网www.bitscn.com
} 网管朋友网www_bitscn_net
网管有家bitscn.net
/** 网管网www_bitscn_com
* 随机生成字符串
中国网管论坛bbs.bitsCN.com
* @return 网管论坛bbs_bitsCN_com
*/
private String getRandomChar() { 网管朋友网www_bitscn_net
int rand = (int) Math.round(Math.random() * 2);
long itmp = 0; 网管联盟bitsCN@com
char ctmp = '\u0000'; 中国网管论坛bbs.bitsCN.com
switch (rand) { 中国网管联盟bitsCN.com
case 1:
网管有家www.bitscn.net
itmp = Math.round(Math.random() * 25 + 65); 中国网管联盟bitsCN.com
ctmp = (char) itmp; 网管论坛bbs_bitsCN_com
return String.valueOf(ctmp);
网管u家bitscn.net
case 2:
itmp = Math.round(Math.random() * 25 + 97); 网管联盟bitsCN_com
ctmp = (char) itmp; 网管u家bitscn.net
return String.valueOf(ctmp); 网管论坛bbs_bitsCN_com
default:
itmp = Math.round(Math.random() * 9); 网管u家bitscn.net
return String.valueOf(itmp);
网管u家www.bitscn.net
}
}
} 网管朋友网www_bitscn_net
package com.work.core.image;
import java.awt.Color; 中国网管论坛bbs.bitsCN.com
import java.awt.Font;
网管联盟bitsCN@com
import java.awt.Graphics;
import java.awt.image.BufferedImage;
网管下载dl.bitscn.com
import java.io.IOException;
import java.util.Random; 网管u家www.bitscn.net
中国网管联盟bitsCN.com
import javax.imageio.ImageIO; 中国网管论坛bbs.bitsCN.com
import javax.servlet.ServletException; 中国网管联盟bitsCN.com
import javax.servlet.http.HttpServlet;
网管u家www.bitscn.net
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
网管联盟bitsCN_com
import javax.servlet.http.HttpSession; 网管论坛bbs_bitsCN_com
网管u家bitscn.net
import org.apache.commons.logging.Log; 网管u家www.bitscn.net
import org.apache.commons.logging.LogFactory; 网管联盟bitsCN@com
网管u家u.bitsCN.com
/** 网管朋友网www_bitscn_net
* @author wangmj
中国网管联盟bitsCN.com
* 生成随机的验证码!防止暴利破解。
网管bitscn_com
*/
public class AuthImage extends HttpServlet { 网管u家www.bitscn.net
private static Log log = LogFactory.getLog(AuthImage.class);
网管联盟bitsCN@com
/** 网管论坛bbs_bitsCN_com
*
网管下载dl.bitscn.com
*/
private static final long serialVersionUID = 8165458985542870320L; 网管有家www.bitscn.net
//设置图形验证码中的字符串的字体的大小 网管u家u.bitsCN.com
private Font mFont = new Font("Arial Black", Font.PLAIN, 16);
网管网www_bitscn_com
public void init() throws ServletException {
网管u家u.bitsCN.com
super.init(); 网管网www.bitscn.com
}
网管网www_bitscn_com
/** 网管论坛bbs_bitsCN_com
网管网www_bitscn_com
中国网管论坛bbs.bitsCN.com
|
0
|
评论加载中…