Kaptcha 是一个可高度配置的实用验证码生成工具,可自由配置的选项有很多,比如验证码的字体、字体的大小、颜色等。可以制作成一个可以重复使用的便捷小工具。如果是使用springMVC方式的接口可以参考使用kaptcha生成验证码图片-springMVC篇。
1、导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
<!--验证码 -->
<dependency>
<groupId>com.github.penggle</groupId>
<artifactId>kaptcha</artifactId>
<version>2.3.2</version>
</dependency>
注意这里的spring-boot-starter-webflux
和spring-boot-starter-web
不可以同时引入,我们引入webflux
就可以了,否则RouterFunction
会访问不到导致404错误。
2、编写一个生成数字运算的验证码类
/**
* 一个生成数字运算的验证码类
*/
@Component
public class KaptchaTextCreator extends DefaultTextCreator
{
private static final String[] CNUMBERS = "0,1,2,3,4,5,6,7,8,9,10".split(",");
@Override
public String getText()
{
Integer result = 0;
Random random = new Random();
int x = random.nextInt(10); // 制造两个随机数 x,y
int y = random.nextInt(10);
StringBuilder suChinese = new StringBuilder();
// Math.round 是四舍五入 Math.random随机一个0-1的浮点数 randomoperands的值可能为0,1,2
int randomoperands = (int) Math.round(Math.random() * 2);
if (randomoperands == 0)
{/