图片验证

作者: he_321 | 来源:发表于2016-10-22 16:18 被阅读0次

网页登录中图片验证的实现,核心代码如下所示:
创建图片资源 BufferedImage image = new BufferedImage(WIDTH, Hight, BufferedImage.TYPE_INT_BGR); Graphics g = image.getGraphics();
* 设置内容
/
private void setContent(Graphics2D g) {
g.setColor(Color.BLACK);
g.setFont(new Font("宋体", Font.BOLD,40));
int x = 20;
int y = 40;
for(int i = 0; i < 4; i ++){
double degree = new Random().nextInt()%30 ;
g.rotate(degree * Math.PI/180, x + 20, y - 20);
String num = new Random().nextInt(9) + "";
g.drawString(num, x, y);
g.rotate(-degree
Math.PI/180, x + 20, y - 20);
x += 30;
}

}
/**
 * 设置干扰线
 * @param g
 */
private void setLine(Graphics g) {
    g.setColor(Color.BLACK);
    for(int i = 0; i < 5; i ++){
        int x1 = new Random().nextInt(WIDTH);
        int y1 = new Random().nextInt(Hight);
        
        int x2 = new Random().nextInt(WIDTH);
        int y2 = new Random().nextInt(Hight);
        g.drawLine(x1, y1, x2, y2);
    }
}

/**
 * 画出边框
 * @param g
 */
private void setFrame(Graphics g) {
    g.setColor(Color.BLACK);
    g.drawRect(0, 0, WIDTH, Hight);
}

/**
 * 填充背景颜色
 * @param g
 */
private void setBackgroundColor(Graphics g) {
    g.setColor(Color.WHITE);
    g.fillRect(1, 1, WIDTH-2, Hight-2);
}


public void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
}

//将数据写入流中
ImageIO.write(image, "jpg", response.getOutputStream());
在登录中我们有时会使用汉字认证,汉字的范围:\u4e00-\u9fa5。
实现点击图片换一张,在js点击事件中的代码:
this.src = this.src + "?" + new Date().getTime();
this:指的是图片image标签
src:指的是servlet资源,将资源重新赋值给image,就是再次向服务器发送请求.
"?" + new Date().getTime():由于缓存的存在,这句话是为了避免和上次发送的请求相同而取本地缓存。

相关文章

  • 图片验证

    网页登录中图片验证的实现,核心代码如下所示:创建图片资源 BufferedImage image = new Bu...

  • Qt滑块图片验证码

    Qt滑块图片验证码 @[toc] (一)、控件介绍 自定义随机图片 滑动条滑动验证 重定义验证图片 抠图位置随机 ...

  • 参考的文章

    验证码 图片验证码前端怎样获取后端生成的验证码图片,并且点击图片的时候改变验证码 记住密码 前端记住密码功能密码安...

  • Java生成图片验证码

    Java生成图片验证码 手动实现图片验证码生成 调用演示

  • php 邮件验证 图片验证 手机验证

    邮件验证逻辑 图片与手机验证的逻辑 通常情况下的流程手机号输入和图片验证输入在同一个界面。验证图片&&手机号,然后...

  • cas4.2.7新增验证码校验

    新增类 验证码controller,用于返回图片 验证码图片util 新增UsernamePasswordCred...

  • SDWebimage加载图片请求添加header

    后台添加了图片验证码请求的header验证:导致验证码图片加载不出来。iOS端需要添加代码如下:

  • 短信验证

    一、短信验证 验证方式有很多种:短信验证码,邮箱验证,语音验证,图片验证等等。其中短信验证,语音验证,邮箱验证都是...

  • 网页图片获取(用于验证码图片获取)

    网页图片获取(用于验证码图片获取)

  • JavaScript 图形验证 图片验证

    https://blog.csdn.net/qq_34609337/article/details/7429899...

网友评论

    本文标题:图片验证

    本文链接:https://www.haomeiwen.com/subject/kkrhuttx.html