算术验证码&字母验证码

/**
* 生成验证码图片并返回给客户端
* @param key 验证码对应的key
* @param request HTTP请求对象
* @param response HTTP响应对象
* @throws Exception 异常处理
*/
@RequestMapping("/captcha")
public void captcha(@RequestParam String key, HttpServletRequest request, HttpServletResponse response) throws Exception {
 
// 指定验证码的长宽以及字符的个数
// SpecCaptcha captcha = new SpecCaptcha(135, 33, 5);
// captcha.setCharType(Captcha.TYPE_NUM_AND_UPPER);
// // 首先把验证码在后台保存一份,但是不能保存在session,可以存在redis,也可以存在后台的某个Map里面
// CaptureConfig.CAPTURE_MAP.put(key, captcha.text().toLowerCase());
// CaptchaUtil.out(captcha, request, response);
 
// 算术类型
ArithmeticCaptcha captcha = new ArithmeticCaptcha(135, 33);
captcha.setLen(4); // 几位数运算,默认是两位
captcha.getArithmeticString(); // 获取运算的公式:3+2=?
captcha.text(); // 获取运算的结果:5
// 将验证码文本转换为小写,并将其与对应的key存储在CAPTURE_MAP中
CaptureConfig.CAPTURE_MAP.put(key, captcha.text().toLowerCase());
// 将生成的验证码图片输出到客户端
CaptchaUtil.out(captcha, request, response);
}
posted @   XiangdxDu  阅读(69)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示