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()); }

 

posted @ 2023-06-08 10:29  KeepSmiling_me  阅读(60)  评论(0)    收藏  举报