在日常我们在登录或者注册的时候,网页上会出现验证码让我们填写,其实利用jdk提供给我们的工具类完全可以模拟出来一个生成验证码图片的功能。

package util;

import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.Random; public class image {
public static int[] ran() {
//设置图片宽度和高度
int width = 150;
int height = 60;
//干扰线条数
int lines = 10;
// 验证码数组
int[] random = new int[4];
Random r = new Random();
BufferedImage b = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
Graphics g = b.getGraphics();
g.setFont(new Font("宋体", Font.BOLD, 30));
for (int i = 0; i < 4; i++) {
int number = r.nextInt(10);
random[i] = number;
int y = 10+r.nextInt(40);// 10~40范围内的一个整数,作为y坐标
//随机颜色,RGB模式
Color c = new Color(r.nextInt(255), r.nextInt(255), r.nextInt(255));
g.setColor(c);
// g.drawString("" + a, 5 + i * width / 4, y);
//写验证码
g.drawString(Integer.toString(number), 5 + i * width / 4, y);
}
for (int i = 0; i < lines; i++) {
//设置干扰线颜色
Color c = new Color(r.nextInt(255), r.nextInt(255), r.nextInt(255));
g.setColor(c);
g.drawLine(r.nextInt(width), r.nextInt(height), r.nextInt(width), r.nextInt(height));
}
try {
//清空缓冲
g.dispose();
//向文件中写入
ImageIO.write(b, "jpg", new File("E:\\IntelliJ IDEA\\mail\\web\\imagecode\\test.jpg"));
} catch (IOException e) {
e.printStackTrace();
}
return random;
} //测试
public static void main(String[] args) {
ran();
}
}

运行之后生成的图片:

这样我们在方法中用一个数组存了四位的验证码,在后台判断用户输入的和数组中的元素是否一致,就可以实现验证了。

Java生成图片验证码的更多相关文章

  1. java生成图片验证码(转)--封装生成图片验证码的工具类

    博客部分内容转载自 LonlySnow的博客:后台java 实现验证码生成 1.controller方法 @RequestMapping(value = "/verifycode/img&q ...

  2. 转:Java生成图片验证码(有点仿QQ验证码的意思)

    http://blog.csdn.net/ruixue0117/article/details/22829557 java: VerifyCodeUtils.java package com.fro. ...

  3. 【转】Java生成图片验证码

    原文转自:http://blog.csdn.net/ruixue0117/article/details/22829557 看了挺多图片验证码的代码,感觉没什么长的好看点的,就自己动手写了个,写完发现 ...

  4. java制作验证码(java验证码小程序)

    手动制作java的验证码 Web应用验证码的组成: (1)输入框 (2)显示验证码的图片 验证码的制作流程: 生成验证码的容器使用 j2ee的servlet 生成图片需要的类: (1) Buffere ...

  5. java生成验证码结合springMVC

    在用户登录的时候,为了防止机器人攻击都会设置输入验证码,本篇文章就是介绍java如何生成验证码并使用在springMVC项目中的. 第一步:引入生成图片验证码的工具类 import java.awt. ...

  6. (七)利用servlet生成图片验证码

    总结: 验证码就是一张图,然后往这张图上写入随机的字符(数字字母等). 1.1 编写html页面 <!DOCTYPE html> <html> <head> < ...

  7. PHP生成图片验证码demo【OOP面向对象版本】

    下面是我今天下午用PHP写的一个生成图片验证码demo,仅供参考. 这个demo总共分为4个文件,具体代码如下: 1.code.html中的代码: <!doctype html> < ...

  8. java识别验证码

    所需资源下载链接(资源免费,重在分享) Tesseract:http://download.csdn.net/detail/chenyangqi/9190667 jai_imageio-1.1-alp ...

  9. 【开发技术】Java生成验证码

    Java生成验证码 为了防止用户恶意,或者使用软件外挂提交一些内容,就得用验证码来阻止,虽然这个会影响用户体验,但为了避免一些问题很多网站都使用了验证码;今天下午参考文档弄了一个验证码,这里分享一下; ...

随机推荐

  1. java 集合框架(十五)Deque

    一.概述 Deque是Queue的子接口,我们知道Queue是一种队列形式,而Deque则是双向队列,它支持从两个端点方向检索和插入元素,因此Deque既可以支持LIFO形式也可以支持LIFO形式.D ...

  2. Pandaboard ES编译bootloader、xloader、内核、以及安卓系统

    Building bootloader and kernel Bootloader Startwith building the bootloader. To learn more about the ...

  3. directX枚举系统设备类

    void CSysEnumDlg::DisplayFullCategorySet(void){    USES_CONVERSION;    HRESULT hr;    IEnumMoniker * ...

  4. Struts2(四)Struts2配置文件的配置

    Struts2的常见配置 1.Struts2的配置文件的加载顺序: 每次从客户端发送到请求到服务器都要先从Struts2的核心过滤器StrutsPrepareAndExeccuteFilter,这个过 ...

  5. 关于html5 data-*自定义属性相关注意点和踩过的坑

    在HTML5中添加了data-*的方式来自定义属性,所谓data-*实际上上就是data-前缀加上自定义的属性名,命名可以用驼峰命名方式,但取值是必需全部使用小写(后面会说),使用这样的结构可以进行数 ...

  6. spring mvc和swagger整合

    pom.xml 导入jar jar包 所属 备注 spring-core spring spring核心包 spring-expression spring spEl表达式 spring-beans ...

  7. Shell 的特殊变量

    2017-08-02 1.$0 获取当前脚本的名称或全路径 cat name.sh Linux shell sh name.sh echo $0 name.sh 2.$n(n >=1) 获取脚本 ...

  8. 招聘面试—关于Mysql的一点儿总结

    最近半年,作为部门的面试官之一,参加了许多次招聘面试.数据库知识,尤其是对数据的增删改查等操作是软件测试人员的基本功,是面试过程中的必考项.在这其中,有一道题,是我每次面试的必考题. 题目 以Mysq ...

  9. MySQL新建用户与授权

    一.登录root用户 [root@iZm5e9gg1p5y1co0usac2cZ webapps] # mysql -uroot -p 二.新建用户 mysql> create user '; ...

  10. 深度学习框架: Keras官方中文版文档正式发布

    今年 1 月 12 日,Keras 作者 François Chollet‏ 在推特上表示因为中文读者的广泛关注,他已经在 GitHub 上展开了一个 Keras 中文文档项目.而昨日,Françoi ...