1Kaptcha
1.1 Kaptcha简介
Kaptcha 是一个扩展自simplecaptcha的验证码库,默认情况下,Kaptcha非常易于设置和使用,并且默认输出会产生一个很难验证的验证码。默认情况下,它生成的验证码看起来与上面的非常相似。如果您想更改输出的外观,则有几个配置选项,并且该框架是模块化的,因此您可以编写自己的变形代码。
1.2Kaptcha详细配置表
2 Maven依赖
<!-- 验证码 --><dependency><groupId>com.baomidou</groupId><artifactId>kaptcha-spring-boot-starter</artifactId><version>1.1.0</version></dependency>
3 Spring Boot配置
#验证码宽度kaptcha.width=200#验证码高度kaptcha.height=50#验证码内容长度kaptcha.content.length=4#验证码内容源kaptcha.content.source=ABCDEFGHIJKLMNOPQRSTUVWXYZ2345678923456789#验证码内容间隔kaptcha.content.space=2#验证码字体名称kaptcha.font.name=Arial#验证码字体大小kaptcha.font.size=40#验证码字体颜色kaptcha.font.color=black#验证码背景颜色(开始颜色)kaptcha.background-color.from=lightGray#验证码背景颜色(结束颜色)kaptcha.background-color.to=white#验证码是否显示边框kaptcha.border.enabled=true#验证码边框颜色kaptcha.border.color=black#验证码边框厚度kaptcha.border.thickness=1
4 调试代码
package com.controller;import com.baomidou.kaptcha.Kaptcha;import com.baomidou.kaptcha.exception.KaptchaIncorrectException;import com.baomidou.kaptcha.exception.KaptchaNotFoundException;import com.baomidou.kaptcha.exception.KaptchaTimeoutException;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class KaptchaController {@Autowiredprivate Kaptcha kaptcha;/*** 获取Kaptcha验证码*/@GetMapping("/getKaptchaImg")public void getKaptchaImg() {//默认900秒kaptcha.render();}/*** 验证验证码** @param code 验证码* @return*/@GetMapping("/validCode")public String validCode(@RequestParam String code) {try {kaptcha.validate(code);} catch (Exception e) {if (e instanceof KaptchaIncorrectException) {return "验证码不正确";} else if (e instanceof KaptchaNotFoundException) {return "验证码未找到";} else if (e instanceof KaptchaTimeoutException) {return "验证码过期";} else {return "验证码渲染失败";}}return "验证通过";}}