Skip to content

图形验证码 (graphic)

最后更新: 15 天前
实践版本: v2.13.4

简介

continew-starter-captcha-graphic 是 ContiNew Starter 验证码模块针对图形验证码的默认实现,底层基于 Easy Captcha,提供多种图形验证码类型。

主要特性

  • 多种验证方式:支持算术验证、中文验证、中文闪图验证、英文验证和英文闪图验证
  • 灵活配置:支持自定义验证码类型、长度、宽度、高度和字体大小

快速开始

引入依赖

pom.xml
xml
<dependency>
    <groupId>top.continew.starter</groupId>
    <artifactId>continew-starter-captcha-graphic</artifactId>
</dependency>

添加配置

配置详情请查看:top.continew.starter.captcha.graphic.autoconfigure.GraphicCaptchaProperties

application.yml
yaml
--- ### 验证码配置
continew-starter:
  captcha:
    ## 图形验证码
    graphic:
      enabled: true
      # 类型(默认:SPEC(英文验证))
      # ARITHMETIC:算术验证
      # CHINESE:中文验证
      # CHINESE_GIF:中文闪图验证
      # SPEC:英文验证
      # GIF:英文闪图验证
      type: SPEC
      # 图片中内容长度(默认:4)
      length: 4
      # 图片中内容高度(默认:111)
      width: 111
      # 图片中内容宽度(默认:36)
      height: 36
      # 字体大小(默认:25)
      fontSize: 25

获取验证码

java
import top.continew.starter.captcha.graphic.core.GraphicCaptchaService;

@RestController
@RequiredArgsConstructor
@RequestMapping("/captcha")
public class CaptchaController {

    private final GraphicCaptchaService graphicCaptchaService;

    @Operation(summary = "获取图片验证码", description = "获取图片验证码(Base64编码,带图片格式:data:image/gif;base64)")
    @GetMapping("/image")
    public CaptchaResp getImageCaptcha() {
        Captcha captcha = graphicCaptchaService.getCaptcha();
        // 略...
        return CaptchaResp.of(captcha.toBase64());
    }
}

核心依赖

依赖描述
top.continew.starter:continew-starter-core核心模块
com.github.whvcse:easy-captchaEasy Captcha(Java 图形验证码,支持 gif、中文、算术等类型,可用于 Java Web、JavaSE 等项目)
org.openjdk.nashorn:nashorn-coreJS 引擎(一个纯编译的 JavaScript 引擎)