java生成验证码图片
<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.7.7</version> </dependency>
import cn.hutool.cache.CacheUtil;
import cn.hutool.cache.impl.TimedCache;
import cn.hutool.captcha.CaptchaUtil;
import cn.hutool.captcha.ShearCaptcha;
import lombok.SneakyThrows;
//登录失败次数 public static final Integer LOGIN_FAIL_NUM = 4; //拒绝再次登录得次数 public static final Integer LOGIN_REFUSE_NUM = 10; //缓存登录图片验证码 public static final TimedCache<String, String> CODE_CACHE = CacheUtil.newTimedCache(1000*60*5); //缓存登录失败次数 public static final TimedCache<String, Integer> LOGIN_FAIL_CACHE = CacheUtil.newTimedCache(1000*60*20); public DataCallBackController(){ //定期清理缓存 CODE_CACHE.schedulePrune(3000); LOGIN_FAIL_CACHE.schedulePrune(1000*60*5); } @SneakyThrows public void getCode(@RequestParam String username, HttpServletResponse response) { //定义图形验证码的长、宽、验证码字符数、干扰线宽度 ShearCaptcha captcha = CaptchaUtil.createShearCaptcha(12,50,4,2); //图形验证码结果存缓存 CODE_CACHE.put(username, captcha.getCode()); //图形验证码写出到流 captcha.write(response.getOutputStream()); }
我只想安静地学习,捡拾前人的牙慧,默默强大如此弱小的我...