# kite-captcha-spring-boot-starter **Repository Path**: stary1993/kite-captcha-spring-boot-starter ## Basic Information - **Project Name**: kite-captcha-spring-boot-starter - **Description**: 普通图形验证码[普通,GIF,中文,简单算数],行为验证码 [滑块验证码、点选验证码、行为验证码、旋转验证码, 滑动验证码] - **Primary Language**: Java - **License**: MIT - **Default Branch**: v1.1.0 - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 7 - **Forks**: 1 - **Created**: 2022-12-15 - **Last Updated**: 2024-12-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: 验证码, Java, SpringBoot, SpringCloud, 行为验证码 ## README # kite-captcha-spring-boot-starter ## 使用说明 ### 添加依赖 :exclamation: 未上传到中央库,需手动编译构建打包!!! ```shell mvn clean install ``` ```xml cn.com.stary1993.kite.captcha kite-captcha-spring-boot-starter 1.1.0 org.springframework.boot spring-boot-starter-data-redis ``` ### 添加配置 ```yaml spring: application: name: @project.name@ # redis 验证码缓存 redis: port: 6379 host: 127.0.0.1 database: 0 # 验证码配置 captcha: enabled: true simple: enabled: true line-count: 6 behavior: enabled: true ``` ### 使用示例 #### 接口服务 ```java @CrossOrigin @RequiredArgsConstructor @RestController @RequestMapping("/captcha") public class CaptchaDemoController { private final SimpleImageCaptcha simpleImageCaptcha; private final BehaviorImageCaptcha behaviorImageCaptcha; @SneakyThrows @GetMapping("/simple/gen1") public void genSimpleImageCaptchaStream(HttpServletResponse response, @RequestParam("type") String type, String timestamp) { simpleImageCaptcha.out(SimpleImageCaptchaType.valueOf(type), timestamp, response.getOutputStream()); } @PostMapping("/simple/check1") public Boolean checkSimpleImageCaptchaStream(@RequestParam("type") String type, String timestamp, @RequestParam("code") String code) { return simpleImageCaptcha.verify(SimpleImageCaptchaType.valueOf(type), timestamp, code); } @GetMapping("/simple/gen2") public CaptchaResponse genSimpleImageCaptcha(@RequestParam("type") String type, @RequestParam("timestamp") String timestamp) { return simpleImageCaptcha.generate(SimpleImageCaptchaType.valueOf(type), timestamp); } @PostMapping("/simple/check2") public Boolean checkSimpleImageCaptcha(@RequestParam("id") String id, @RequestParam("type") String type, @RequestParam("timestamp") String timestamp, @RequestParam("code") String code) { return simpleImageCaptcha.verify(id, SimpleImageCaptchaType.valueOf(type), timestamp, code); } @GetMapping("/behavior/gen") public CaptchaResponse genBehaviorImageCaptcha(@RequestParam("type") String type) { return behaviorImageCaptcha.generate(type); } @PostMapping("/behavior/check") public ApiResponse checkBehaviorImageCaptcha(@RequestParam("id") String id, @RequestBody BehaviorImageCaptchaTrack imageCaptchaTrack) { return behaviorImageCaptcha.matching(id, imageCaptchaTrack); } } ``` #### [前后端分离 demo](https://gitee.com/stary1993/kite-captcha-demo)