验证码是我们登录中常用的功能,如何生成验证码图片,并发送验证码图片到前端就是一个需要解决的问题。
以下介绍生成验证码,发送验证码的步骤流程:
1,首先需要生成验证码文字,然后将文字转成图片,代码如下,我会一行一行解释
String capText = captchaProducerMath.createText();
capStr = capText.substring(0, capText.lastIndexOf("@"));
code = capText.substring(capText.lastIndexOf("@") + 1);
image = captchaProducerMath.createImage(capStr);
2,设置数字验证码结果过期时间
redisCache.setCacheObject(verifyKey, code, Constants.CAPTCHA_EXPIRATION, TimeUnit.MINUTES);
3,将图片写入到输出流中
ImageIO.write(image, "jpg", os);
4,将图片base64编码,然后放到返回结果中。
ajax.put("img", Base64.encode(os.toByteArray()));
return ajax;