zl程序教程

您现在的位置是:首页 >  其它

当前栏目

验证码生成 EasyCaptcha

生成 验证码
2023-06-13 09:17:35 时间

验证码生成 EasyCaptcha

JavaWeb图形验证码,支持gif验证码,可用于基于的session的web项目和前后端分离的项目。 源码地址:https://gitee.com/jeesys/EasyCaptcha/

一、引入依赖

引入EasyCaptcha

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

二、验证码常用类型

png类型

 @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类型

@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());
}

中文类型

 @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());
}

算术类型

 @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());
}