关于java:生成验证码-EasyCaptcha

2次阅读

共计 1482 个字符,预计需要花费 4 分钟才能阅读完成。

验证码生成 EasyCaptcha

JavaWeb 图形验证码,反对 gif 验证码,可用于基于的 session 的 web 我的项目和前后端拆散的我的项目。

一、引入依赖

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

二、验证码罕用类型

  • png 类型

@RequestMapping(“/captcha”)
public void captcha(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 类型

@RequestMapping(“/captcha”)
public void captcha(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());
}

  • 中文类型

    @RequestMapping(“/captcha”)

public void captcha(HttpServletResponse response) throws IOException {

// 中文类型
ChineseCaptcha captcha = new ChineseCaptcha(130, 48);
// 获取验证码
String text = captcha.text();
System.out.println(“ 验证码为:”+text);
// 输入验证码
captcha.out(response.getOutputStream());
}

  • 算术类型

    @RequestMapping(“/captcha”)

public void captcha(HttpServletResponse response) throws IOException {
// 算术类型
ArithmeticCaptcha captcha = new ArithmeticCaptcha(130, 48);
captcha.setLen(3);  // 几位数运算,默认是两位
captcha.getArithmeticString();  // 获取运算的公式
String text = captcha.text();// 获取运算的后果

System.out.println(“ 计算结果为:”+text);
// 输入验证码
captcha.out(response.getOutputStream());
}

正文完
 0