介绍

Java图形验证码工具,支持gif(动图)、中文、算术等类型,可用于Java Web、JavaSE等项目。

快速开始

导入依赖

 <dependency><groupId>com.github.whvcse</groupId><artifactId>easy-captcha</artifactId><version>1.6.2</version></dependency>

静态验证码

 @GetMapping("/captcha123")public void captcha(HttpServletRequest request, HttpServletResponse response) throws Exception {// 设置请求头为输出图片类型response.setContentType("image/gif");response.setHeader("Pragma", "No-cache");response.setHeader("Cache-Control", "no-cache");response.setDateHeader("Expires", 0);​// 三个参数分别为宽、高、位数SpecCaptcha specCaptcha = new SpecCaptcha(130, 48, 5);// 设置字体(有默认字体,可以不用设置)specCaptcha.setFont(new Font("Verdana", Font.PLAIN, 32));// 设置类型,字母数字混合specCaptcha.setCharType(Captcha.TYPE_DEFAULT);// 获取验证码内容String code = specCaptcha.text().toLowerCase()// 输出图片流specCaptcha.out(response.getOutputStream());}

动态验证码

 @RequestMapping("/captcha123")public void captcha2(HttpServletRequest request, HttpServletResponse response) throws Exception {// 设置请求头为输出图片类型response.setContentType("image/gif");response.setHeader("Pragma", "No-cache");response.setHeader("Cache-Control", "no-cache");response.setDateHeader("Expires", 0);// 三个参数分别为宽、高、位数GifCaptcha gifCaptcha = new GifCaptcha(130,48,4);// 获取验证码String code = gifCaptcha.text().toLowerCase();// 输出图片流gifCaptcha.out(response.getOutputStream());}

中文验证码

@RequestMapping("/captcha123")
public void captcha2(HttpServletRequest request, HttpServletResponse response) throws Exception {// 设置请求头为输出图片类型response.setContentType("image/gif");response.setHeader("Pragma", "No-cache");response.setHeader("Cache-Control", "no-cache");response.setDateHeader("Expires", 0);// 三个参数分别为宽、高、位数ChineseCaptcha chineseCaptchaAbstract = new ChineseCaptcha(130,28,4);// 获取验证码String code = chineseCaptchaAbstract.text().toLowerCase();// 输出图片流chineseCaptchaAbstract.out(response.getOutputStream());
}

动态中文验证码

@RequestMapping("/captcha123")
public void captcha2(HttpServletRequest request, HttpServletResponse response) throws Exception {// 设置请求头为输出图片类型response.setContentType("image/gif");response.setHeader("Pragma", "No-cache");response.setHeader("Cache-Control", "no-cache");response.setDateHeader("Expires", 0);// 三个参数分别为宽、高、位数ChineseGifCaptcha chineseGifCaptchaAbstract = new ChineseGifCaptcha(130,28,4);// 获取验证码String code = chineseGifCaptchaAbstract.text().toLowerCase();// 输出图片流chineseGifCaptchaAbstract.out(response.getOutputStream());
}

算数验证码

@RequestMapping("/captcha123")
public void captcha2(HttpServletRequest request, HttpServletResponse response) throws Exception {// 设置请求头为输出图片类型response.setContentType("image/gif");response.setHeader("Pragma", "No-cache");response.setHeader("Cache-Control", "no-cache");response.setDateHeader("Expires", 0);// 三个参数分别为宽、高、位数ArithmeticCaptcha arithmeticCaptcha = new ArithmeticCaptcha(130 , 28 , 4);// 获取验证码String code = arithmeticCaptcha.text().toLowerCase();// 输出图片流arithmeticCaptcha.out(response.getOutputStream());
}

验证码字符类型

类型 描述
TYPE_DEFAULT 数字和字母混合
TYPE_ONLY_NUMBER 纯数字
TYPE_ONLY_CHAR 纯字母
TYPE_ONLY_UPPER 纯大写字母
TYPE_ONLY_LOWER 纯小写字母
TYPE_NUM_AND_UPPER 数字和大写字母
SpecCaptcha captcha = new SpecCaptcha(130, 48, 5);
captcha.setCharType(Captcha.TYPE_ONLY_NUMBER);

字体设置

字体 效果
Captcha.FONT_1

Captcha.FONT_2

Captcha.FONT_3

Captcha.FONT_4

Captcha.FONT_5

Captcha.FONT_6

Captcha.FONT_7

Captcha.FONT_8

Captcha.FONT_9

Captcha.FONT_10

SpecCaptcha captcha = new SpecCaptcha(130, 48, 5);// 设置内置字体
captcha.setFont(Captcha.FONT_1); // 设置系统字体
captcha.setFont(new Font("楷体", Font.PLAIN, 28)); 

图片输出到文件

FileOutputStream outputStream = new FileOutputStream(new File("C:/captcha.png"))
SpecCaptcha specCaptcha = new SpecCaptcha(130, 48, 5);
specCaptcha.out(outputStream);

EasyCaptcha图形验证码工具相关推荐

  1. java生成验证码工具类_Java生成图形验证码工具类

    生成验证码效果 validatecode.java 验证码生成类 package cn.dsna.util.images; import java.awt.color; import java.awt ...

  2. Android图形验证码工具类

    移动端获取图形验证码有两种形式,一种是在本地随机生成进行验证,另一种是根据服务端返回的图片流设置到页面上,今天我们要做的就是根据服务端返回的操作图形验证码,完整demo地址:https://downl ...

  3. easycaptcha图形验证码

    参考地址:https://gitee.com/ele-admin/EasyCaptcha Java图形验证码,支持gif.中文.算术等类型,可用于Java Web.JavaSE等项目. 效果展示 验证 ...

  4. 使用Java生成图形验证码(后端)

    生成图形验证码工具类: VerificationCodeUtil package com.merce.woven.utils;import java.awt.*; import java.awt.im ...

  5. 解决外域 Google 图形验证码 reCaptcha 无法访问的方法

    背景 外域网站注册账号时会遇到需要输入图形验证码的情况,多数外域网站都喜欢使用 Google 的图形验证码工具 reCaptcha ,但是国内因为无法访问到 Google 的资源,就没有办法输入图形验 ...

  6. Android图形验证码

    1. 前言 图形验证码可以让服务器以图片的形式传给客户端,也可以让客户端自己实现.那客户端要怎么做呢?其实很简单,可以使用Android的Canvas.Paint和Random来实现.用Random来 ...

  7. java 验证码 算术_java生成图形验证码(算数运算图形验证码 + 随机字符图形验证码)...

    平凡也就两个字: 懒和惰; 成功也就两个字: 苦和勤; 优秀也就两个字: 你和我. 跟着我从0学习JAVA.spring全家桶和linux运维等知识,带你从懵懂少年走向人生巅峰,迎娶白富美! 关注微信 ...

  8. java实现图形验证码

    项目中可能会用到图形验证码的功能,源码分享给大家.以下是实际效果图: 一.后端JAVA代码 1.生成图形验证码工具类 public class imgVerifyCode {private int w ...

  9. SpringBoot整合kaptcha(谷歌验证码工具)实现验证码功能

    介绍: kaptcha是Google提供的一个图形验证码插件,有了它,你可以通过简单的配置生成各种样式的验证码. 1:SpringBoot引入kaptcha的依赖 <dependency> ...

  10. java 图形校验_java图形验证码生成工具类 web页面校验验证码

    java图形验证码生成工具类 web页面校验验证码 发布于 2020-7-14| 复制链接 摘记: 最近做验证码,参考网上案例,发现有不少问题,特意进行了修改和完善.验证码生成器: ```java i ...

最新文章

  1. LuaLuaMemorySnapshotDump-master
  2. android运动轨迹怎么画,Android 利用三阶贝塞尔曲线绘制运动轨迹的示例
  3. Mybatis的SqlSession运行原理
  4. ubuntu的MySQL远程数据库连接问题查找
  5. android布局置顶_Android布局图片置顶
  6. xampp使用教程php,php集成套件服务器xampp安装使用教程
  7. SpringCachemanager使用Cache(redis作为缓存中间件)
  8. 程序员编程艺术第四十一章 四十二章 荷兰国旗 矩阵相乘Strassen算法
  9. iptables --algo 字符串匹配算法 bm kmp
  10. 三年老Android经验面经,写给正在求职的安卓开发
  11. GoLang之标准库net/http包源码
  12. 关于程序的编译和解释!
  13. new/delete与malloc/free的区别
  14. 日本综合交通枢纽集约式发展经验
  15. put和post区别
  16. 苹果向在巴西被盗的iPhone客户支付赔偿金
  17. 这些b站课程 ,看完即巅峰
  18. ansys的kbc_在Ansys中施加阶跃载荷和渐变载荷的方法 | 坐倚北风
  19. linux中realplayer.rpm格式的软件安装,Linux系统中Realplay 10.0的安装和使用
  20. 2022好用的磁力下载BT工具推荐

热门文章

  1. 最新SOCKS5代理服务器 socks5代理ip地址
  2. 如何恢复按下Shift + DELETE键永久删除的文件和资料夹?
  3. YB1205B 外置MOS异步升压恒流LED驱动控制器
  4. html判断闰年,javascript怎么判断是否闰年?
  5. mame linux 编译,完美编译街机模拟器MAME(Android版)基于MAME4all
  6. 2021年最新3d材质贴图素材大合集来咯
  7. Android Modem修改点以及修改方法
  8. 实验8 OpenGL太阳系动画
  9. 摄影场景拍摄方法笔记
  10. python bs期权模型_使用python第二部分建立股票期权评估模型