验证码生成 EasyCaptcha
JavaWeb图形验证码,支持gif验证码,可用于基于的session的web项目和前后端分离的项目。 源码地址:https://gitee.com/jeesys/EasyCaptcha/
一、引入依赖
引入EasyCaptcha
代码语言:javascript复制<dependency>
<groupId>com.github.whvcse</groupId>
<artifactId>easy-captcha</artifactId>
<version>1.6.2</version>
</dependency>
二、验证码常用类型
png类型
代码语言:javascript复制 @RequestMapping("/hello")
public void hello(HttpServletResponse response) throws IOException {
// png类型
SpecCaptcha captcha = new SpecCaptcha(130, 48);
String text = captcha.text();// 获取验证码的字符
char[] chars = captcha.textChar();// 获取验证码的字符数组
System.out.println("验证码:" text);
System.out.println(chars);
// 输出验证码
captcha.out(response.getOutputStream());
}
gif类型
代码语言:javascript复制@RequestMapping("/hello")
public void hello(HttpServletResponse response) throws IOException {
// 三个参数分别为宽、高、位数
GifCaptcha gifCaptcha = new GifCaptcha(100, 48, 4);
// 设置类型:字母数字混合
gifCaptcha.setCharType(Captcha.TYPE_DEFAULT);
//获取验证码
String text = gifCaptcha.text();
System.out.println("验证码为:" text);
// 输出验证码
gifCaptcha.out(response.getOutputStream());
}
中文类型
代码语言:javascript复制 @RequestMapping("/hello")
public void hello(HttpServletResponse response) throws IOException {
// 中文类型
ChineseCaptcha captcha = new ChineseCaptcha(130, 48);
//获取验证码
String text = captcha.text();
System.out.println("验证码为:" text);
// 输出验证码
captcha.out(response.getOutputStream());
}
算术类型
代码语言:javascript复制 @RequestMapping("/hello")
public void hello(HttpServletResponse response) throws IOException {
// 算术类型
ArithmeticCaptcha captcha = new ArithmeticCaptcha(130, 48);
captcha.setLen(3); // 几位数运算,默认是两位
captcha.getArithmeticString(); // 获取运算的公式:4-9 1=?
String text = captcha.text();// 获取运算的结果:-4
System.out.println("计算结果为:" text);
// 输出验证码
captcha.out(response.getOutputStream());
}