Spring Boot中生成验证码可以使用Kaptcha插件。首先在`pom.xml`文件
中添加如下依赖:
```xml
<dependency>
<groupId>com.github.penggle</groupId>
<artifactId>kaptcha</artifactId>
<version>2.3.2</version>
</dependency>
```
然后在`application.properties`
中添加如下配置:
```properties
#
验证码配置
kaptcha.border=yes
kaptcha.border.color=105,179,90
kaptcha.textproducer.font.color=blue
kaptcha.image.width=125
![Springboot中验证码生成 Springboot中验证码生成](http://sicmodule.kub2b.com/file/upload/image/246.jpg)
kaptcha.image.height=45
kaptcha.textproducer.char.length=4
kaptcha.textproducer.font.size=30
kaptcha.noise.color=black
kaptcha.textproducer.char.space=5
kaptcha.background.clear.from=white
kaptcha.background.clear.to=white
kaptcha.textproducer.font.names=宋体,楷体,微软雅黑
```
最后在Controller
中添加
生成验证码的方法:
```
java
@GetMapping("/captcha")
public void captcha(HttpServletRequest request, HttpServletRespo
nse response) throws Exception {
// 禁止缓存
response.setHeader("Cache-Control", "no-store, no-cache");
response.setCo
ntentType("image/jpeg");
//
生成验证码
DefaultKaptcha kaptcha = new DefaultKaptcha();
// 将
生成的
验证码存入session
中,用于后续校验
String text = kaptcha.createText();
request.getSession().setAttribute("captcha", text);
// 将
验证码图片输出到response
中
BufferedImage image = kaptcha.createImage(text);
ServletOutputStream out = response.getOutputStream();
ImageIO.write(image, "jpg", out);
out.close();
}
```