package mypack.login;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.awt.*;
import java.awt.image.*;
import java.util.*;
import javax.imageio.*;
public class AuthImg extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=gb2312";
private Font mFont = new Font("Times New Roman", Font.PLAIN, 17);
public void init() throws ServletException {
super.init();
}
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);
}
public void service(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException {
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
response.setContentType("image/jpeg");
int width = 100, height = 18;
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(1, 1, width - 1, height - 1);
g.setColor(new Color(102, 102, 102));
g.drawRect(0, 0, width - 1, height - 1);
g.setFont(mFont);
g.setColor(getRandColor(160, 200));
for (int i = 0; i < 155; i++) {
int x = random.nextInt(width - 1);
int y = random.nextInt(height - 1);
int xl = random.nextInt(6) + 1;
int yl = random.nextInt(12) + 1;
g.drawLine(x, y, x + xl, y + yl);
}
for (int i = 0; i < 70; i++) {
int x = random.nextInt(width - 1);
int y = random.nextInt(height - 1);
int xl = random.nextInt(12) + 1;
int yl = random.nextInt(6) + 1;
g.drawLine(x, y, x - xl, y - yl);
}
String sRand = "";
for (int i = 0; i < 6; i++) {
int itmp = random.nextInt(26) + 65;
char ctmp = (char) itmp;
sRand += String.valueOf(ctmp);
g.setColor(new Color(20 + random.nextInt(110),
20 + random.nextInt(110),
20 + random.nextInt(110)));
g.drawString(String.valueOf(ctmp), 15 * i + 10, 16);
}
HttpSession session = request.getSession(true);
session.setAttribute("rand", sRand);
g.dispose();
ImageIO.write(image, "JPEG", response.getOutputStream());
}
public void destroy() {
}
}
分享到:
相关推荐
jsp验证码代码 在开发中验证码是比较常用到有效防止这种问题对某一个特定注册用户用特定程序破解方式进行不断的登陆尝试的方式。 此演示程序包括三个文件: 1.login.jsp:登录页面 2.code.jsp:生成验证码图片页面 3....
验证码 验证码 验证码 验证码 验证码 验证码
login.rar 登录 代码
Login(验证码).zip
用纯jsp代码实现用户登录功能,该java web程序对于jsp的理解可以提供帮助
用友U8 10.0版本的U8Login.dll,用于API接口开发,在使用登录功能时,需要使用此Debug版的DLL文件替换原文件
JSP生成验证码, 1.login.jsp:登录页面 2.code.jsp:生成验证码图片页面 3.check.jsp:验证结果
本文实例为大家分享了vue+springboot实现登录验证码的具体代码,供大家参考,具体内容如下 先看效果图 在login页面添加验证码html 在后端pom文件添加kaptcha依赖 <dependency> <groupId>...
微信端H5微信登录前端代码wxlogin【修改loginwx.html下JS里的appid和secret及域名即可】,域名需在公众号配置。
jsp验证码实现源代码 (2010-05-09 20:11:40) 演示程序包括三个文件: 1.login.jsp:登录页面 2.code.jsp:生成验证码图片页面 3.check.jsp:验证结果 code.jsp
账号密码请自行分析代码; 支持密码隐藏; 管理员控制台; 验证码; 两次登录; 账号密码请自行分析代码; 支持密码隐藏; 管理员控制台; 验证码; 两次登录;
import java.util.Random; import javax.imageio.ImageIO; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet...
login登陆代码jsp.txt,一个简单了登陆界面代码
login.jsp用户登录界面login.jsp用户登录界面login.jsp用户登录界面login.jsp用户登录界面
完整的jsp登录,里面有数据库创建语句,这是李兴华老师讲座的内容,对于初学者很有用的,完整的jsp+数据库登录程序!
实现将注册的用户名和密码,写进sqlite3数据库中,操作环境为linux嵌入式
2-login.defs
nextcloud 私有云修改sociallogin 插件,支持微信登录。 涉及文件: sociallogin/lib/Controller/LoginController.php sociallogin/3rdparty/hybridauth/hybridauth/src/User/Profile.php sociallogin/3rdparty/...
本资料提供了用户ERP U8系统各版本API接口调用的Login DLL文件,希望能够为喜爱U8开发的人士提供一点点帮助。