文档章节

纯数字验证码

c
 caiyezi
发布于 2016/11/08 20:24
字数 274
阅读 1
收藏 0

登录时常常要用到验证码验证,下面是一个简单的纯数字验证码,详细代码见image.jsp,将每次生成的验证码文本直接存入session中,登录时方便后台从session中取值验证:

 

<%@ page contentType="image/jpeg"
    import="java.awt.*,
java.awt.image.*,java.util.*,javax.imageio.*"
    pageEncoding="utf-8"%>
<%!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);
    }%>
<%
    out.clear();//这句针对resin服务器,如果是tomacat可以不要这句
    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));
    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);
    }
    String sRand = "";
    for (int i = 0; i < 4; i++) {
        String rand = String.valueOf(random.nextInt(10));
        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("sRand", sRand);
    g.dispose();
    ImageIO.write(image, "JPEG", response.getOutputStream());
%>

 



本文转载自:http://www.cnblogs.com/vipzhou/p/4852084.html

共有 人打赏支持
c
粉丝 1
博文 108
码字总数 0
作品 0
西安
程序员
php如何实现验证码

验证码在表单实现越来越多了,但是用js的写的验证码,总觉得不方便,所以学习了下php实现的验证码。 验证码在表单实现越来越多了,但是用js的写的验证码,总觉得不方便,所以学习了下php实现...

snowing1990
2016/04/15
31
0
ASP.NET 如何做出简单的验证码

如果说要做验证码,那不得不提的就是GDI+绘图了。我们都知道验证码是以图片形式展示的,而且是动态生成的,这样就需要我们去画出它。 科普一下,什么是GDI+? GDI+是图形设备接口(GDI)的高...

我不会抽烟
2014/07/29
0
0
503718696/GreenBamboo-CAPTCHA

#GreenBamboo-CAPTCHA 青竹验证码系统是互联网开源青竹团队的第一个项目。该项目拥有实现统一图形验证码生成接口的验证码实体类,项目只需调用各种验证码实例即可轻松获得验证的能力。 更多关...

503718696
2016/06/14
0
0
tp图片验证码使用

生成验证码图片(纯数字) public function getimgcode(){ $Verify = new ThinkVerify(); $Verify->codeSet = '0123456789'; $Verify->entry();} 使用验证码 <img src="上面方法链接"/> 后台......

tbx不吐槽
2016/02/24
29
0
福音:不懂代码也能用TensorFlow做验证码识别了

长话短说,开门见山,网络上现有的代码以教学研究为主,对于验证码识别有刚需的朋友们,无需阅读代码,几个参数任何人都能使用机器学习技术训练一个模型,如本文有不严谨之处还请告知与谅解,...

edelweiss
08/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

中秋快乐!!!

HiBlock
47分钟前
1
0
Node安装教程

1、安装最新版的node 2、设置相关目录(以D盘为例) 分别建立目录:D:\node,D:\node\node-globa,D:\node\node-cache 命令行输入: // 设置npm国内镜像 npm config set registry https://re...

Mohan710
今天
3
0
中国发布域名系统基础软件 “红枫”

9月12日消息,域名工程中心(英文缩写 ZDNS)发布了宣称自主开发的域名系统基础软件 “红枫(Maple DNS)”。 9月12日消息,域名工程中心(英文缩写 ZDNS)发布了宣称自主开发的域名系统基础软...

问题终结者
今天
3
0
Shell编程(分发系统介绍、expect远程登录、expect远程执行命令、expect传递参数)

分发系统介绍expect 分发系统expect即分发脚本,是一种脚本语言;通过他可以实现传输,输入命令(上线代码) 应用场景:业务越来越大,网站app,后端,编程语言是php,所以就需要配置lamp或者...

蛋黄_Yolks
今天
4
0
Java Http请求工具类

public static String httpPost(String source, String params) {URL url = null;HttpURLConnection conn = null;OutputStream os = null;String ret = null;try {......

yuewawa
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部