# 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)