当前位置: 首页 > news >正文

高端品牌网站建设九五网络家居网站模板

高端品牌网站建设九五网络,家居网站模板,济南 网站建设那家好,wordpress免登录付费查看若依自带的验证码样式比较单一,所以想改用EasyCaptcha验证码,另外EasyCaptcha算术验证码可能会有负数,输入时需要写负号,比较麻烦,所以使用一个简单的方法过滤掉负数结果 原本的验证码依赖和代码可删可不删&#xff0c…

若依自带的验证码样式比较单一,所以想改用EasyCaptcha验证码,另外EasyCaptcha算术验证码可能会有负数,输入时需要写负号,比较麻烦,所以使用一个简单的方法过滤掉负数结果

原本的验证码依赖和代码可删可不删,注释掉即可

  1. 在父模块添加依赖

    <properties><captcha.version>1.6.2</captcha.version>
    </properties><dependencyManagement><dependencies>
    <!-- EasyCaptcha验证码依赖  --><dependency><groupId>com.github.whvcse</groupId><artifactId>easy-captcha</artifactId><version>${captcha.version}</version></dependency></dependencies>
    </dependencyManagement>
    

    image-20250416093559192

  2. ruoyi-admin模块中添加依赖

    <!-- 验证码 -->
    <dependency><groupId>com.github.whvcse</groupId><artifactId>easy-captcha</artifactId>
    </dependency>
    

    image-20250416093638335

  3. 找到CaptchaController,java,修改getCode方法

    public AjaxResult getCode(HttpServletResponse response) throws IOException, FontFormatException {AjaxResult ajax = AjaxResult.success();boolean captchaEnabled = configService.selectCaptchaEnabled();ajax.put("captchaEnabled", captchaEnabled);if (!captchaEnabled){return ajax;}// 保存验证码信息String uuid = IdUtils.simpleUUID();String verifyKey = CacheConstants.CAPTCHA_CODE_KEY + uuid;//新验证码//图形验证码//SpecCaptcha captcha = new SpecCaptcha(130, 48, 4);//算术验证码ArithmeticCaptcha captcha;String code;captcha = new ArithmeticCaptcha(130, 48);//得到验证码的值code = captcha.text();//若为负数则重新生成int i = Integer.parseInt(code);while (i < 0){System.out.println("code = " + code + ",负数,重新生成!!!!!!!!");captcha = new ArithmeticCaptcha(130, 48);code = captcha.text();i = Integer.parseInt(code);System.out.println("i = " + i + ",新值!!!");}// 设置内置字体captcha.setFont(Captcha.FONT_1);//captcha.setLen(2);  // 几位数运算,默认是两位//captcha.getArithmeticString();  // 获取运算的公式//存入redisredisCache.setCacheObject(verifyKey, code, Constants.CAPTCHA_EXPIRATION, TimeUnit.MINUTES);//旧验证码//String capStr = null, code = null;//BufferedImage image = null;// 生成验证码//String captchaType = RuoYiConfig.getCaptchaType();//if ("math".equals(captchaType))//{//    String capText = captchaProducerMath.createText();//    capStr = capText.substring(0, capText.lastIndexOf("@"));//    code = capText.substring(capText.lastIndexOf("@") + 1);//    image = captchaProducerMath.createImage(capStr);//}//else if ("char".equals(captchaType))//{//    capStr = code = captchaProducer.createText();//    image = captchaProducer.createImage(capStr);//}////redisCache.setCacheObject(verifyKey, code, Constants.CAPTCHA_EXPIRATION, TimeUnit.MINUTES); 转换流信息写出//FastByteArrayOutputStream os = new FastByteArrayOutputStream();//try//{//    ImageIO.write(image, "jpg", os);//}//catch (IOException e)//{//    return AjaxResult.error(e.getMessage());//}ajax.put("uuid", uuid);ajax.put("img", captcha.toBase64());return ajax;}
    

另外,欢迎大家来我的博客——火柴人儿的小站来玩~

http://www.dtcms.com/a/521115.html

相关文章:

  • 第16章:Spring AI Alibaba Graph框架— 人类反馈
  • 大连网站制作推广免费送网站
  • 泰州城乡建设局网站电子商务网站建设利益分析
  • CORDIC三角计算技术
  • Miniconda介绍与安装
  • 服务器硬件设备都有哪些?
  • 中山市建设局网站窗口电话号码wordpress时间轴插件
  • JS逆向 - spiderdemo T6题(JSVMP喵喵盾、protobuf、css)纯算
  • 做怎样的企业网站480元做网站
  • 佛山做外贸网站开发一个电商网站
  • 我的世界做mc壁纸的网站网站建设背景是什么
  • MySQL Galera Cluster部署如何实现负载均衡和高可用
  • 唐山哪个公司做网站wordpress 新增页面
  • Cursor:GIT版本控制
  • 怎么把服务器做网站优秀网站设计 pdf
  • express框架 获取请求体数据
  • 用Python轻松提取视频音频并去除静音片段
  • 常德网站公司百度快速排名软件原理
  • 在blender中安装vtk插件
  • 河南做网站的费用做网站需要准备什么资料
  • 我国成功研制新型芯片:以更贴近人类直觉的计算方式,显著提升了计算效率并大幅降低能耗
  • 高级软考-系统架构设计师知识点3
  • 算法练习:前缀和专题
  • 网站建设与运营就业品牌推广与传播方案
  • 赣州网站建设哪家好加强网站建设的意义
  • 中国城市建设控股集团有限公司网站网站优化试卷
  • 网站建设框架模板下载网站运营一个月多少钱
  • 临漳企业做网站推广做中东服装有什么网站
  • 模块化有什么好处?
  • 算法训练.17