java数字加减乘除的验证码_Java,Springboot 实现算法验证码加减法图形验证码,Kaptcha 实现加减法验证码...
最近在做一个加减法验证码,记录下实现的过程。通常Java实现验证码的工具会用到kaptcha 这个工具包,但实现的验证码都是图形验证码,没有看到加法验证码,查询了相关资料,实现了加减法验证码,效果如图 首先是pom所需要的依赖com.github.pengglekaptcha2.3.2主要是配置类里面,更改下验证码的字符串,代码如下/*** 生成验证码配置** @author hqk*/@Con.
最近在做一个加减法验证码,记录下实现的过程。
通常Java实现验证码的工具会用到 kaptcha 这个工具包,但实现的验证码都是图形验证码,没有看到加法验证码,查询了相关资料,实现了加减法验证码,效果如图

首先是pom所需要的依赖
com.github.penggle
kaptcha
2.3.2
主要是配置类里面,更改下验证码的字符串,代码如下
/**
* 生成验证码配置
*
* @author hqk
*/
@Configuration
public class KaptchaConfig {
@Bean
public DefaultKaptcha producer() {
Properties properties = new Properties();
properties.put("kaptcha.border", "no");
properties.put("kaptcha.textproducer.font.color", "black");
properties.put("kaptcha.textproducer.char.space", "5");
//如果需要生成算法验证码加上一下配置
properties.put("kaptcha.textproducer.char.string", "1234567890");
//如果需要去掉干扰线
properties.put("kaptcha.noise.impl", "com.google.code.kaptcha.impl.NoNoise");
Config config = new Config(properties);
DefaultKaptcha defaultKaptcha = new DefaultKaptcha();
defaultKaptcha.setConfig(config);
return defaultKaptcha;
}
}
接下来写个controller实验下,代码如下
/**
*
*
* @author hqk
* @version 1.0: SysLoginController.java v0.1 2019/6/25 上午10:44 hqk Exp$
*/
@RequestMapping("/app/system")
@Controller
public class SysLoginController {
@Resource
private StringRedisTemplate stringRedisTemplate;
@Resource
private Producer producer;
@RequestMapping("number.jpg")
public void number(HttpServletResponse response) throws IOException {
response.setHeader("Cache-Control", "no-store, no-cache");
response.setContentType("image/jpeg");
//生成文字验证码
String text = producer.createText();
//个位数字相加
String s1 = text.substring(0, 1);
String s2 = text.substring(1, 2);
int count = Integer.valueOf(s1).intValue() + Integer.valueOf(s2).intValue();
//生成图片验证码
BufferedImage image = producer.createImage(s1 + "+" + s2 + "=?");
//保存 redis key 自己设置
//stringRedisTemplate.opsForValue().set("",String.valueOf(count));
ServletOutputStream out = response.getOutputStream();
ImageIO.write(image, "jpg", out);
}
}
好了,java实现加法验证码就实现了
代码git地址: https://github.com/qiankunhu/springbootdemo git@github.com:qiankunhu/springbootdemo.git
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)