• 常用工具类之使用hutool生成验证码


     Hutool参考文档

    1.1 pom文件中导入hutool-captcha依赖
    💬 新建springboot项目,并在其pom.xml中导入hutool-captcha依赖:

    1. <dependency>
    2.         <groupId>cn.hutool</groupId>
    3.         <artifactId>hutool-all</artifactId>
    4.         <version>5.8.1</version>
    5. </dependency>

    1.2 创建前端页面与跳转页面
    前端页面index.html

    1. <h2>Hutool-captcha验证码验证</h2>
    2.     <form action="/loginc" method="post">
    3.         <input type="text" name="verifyCode" placeholder="请输入验证码" required="true">
    4.         <img alt="单击图片刷新!" class="pointer" src="/common/verify"
    5.              onclick="this.src='/common/verify?d='+new Date()*1">
    6.         </br>
    7.         <button type="submit" value="submit">登陆</button>
    8.     </form>

    跳转页面success.html

    1. <!DOCTYPE html>
    2. <html lang="en" xmlns:th="http://www.thymeleaf.org">
    3. <head>
    4.     <meta charset="UTF-8">
    5.     <title>Title</title>
    6. </head>
    7. <body>
    8. <h2>success</h2>
    9. </body>
    10. </html>

    1.3 实现后端代码
    1.3.1 创建后端控制类生成验证码
    💬 创建控制类CommonController类,一方面通过流的方式将随机生成的验证码图片信息发送到前端浏览器;另一方面将验证码中的验证信息写入session中,以方便后续的验证

    1. @RestController
    2. public class HutoolController {
    3.     @GetMapping("/common/verify")
    4.     public void Verify(HttpServletRequest request,HttpServletResponse response) throws IOException {
    5.         //定义图形验证码的长、宽、验证码字符数、干扰线宽度
    6.         ShearCaptcha captcha = CaptchaUtil.createShearCaptcha(150, 40, 5, 4);
    7.         //图形验证码写出,可以写出到文件,也可以写出到流
    8.         captcha.write(response.getOutputStream());
    9.         //获取验证码中的文字内容
    10.         String verifyCode = captcha.getCode();
    11.         request.getSession().setAttribute("verifyCode",verifyCode);
    12.     }


    1.3.3 实现验证码的验证与页面跳转
    💬 对前端输入的数据并发送到服务器的验证信息进行校验,当输入信息与验证码信息一致则跳转至success.html页面,否则跳转至false.html页面

    1. @Controller
    2. public class AdminController {
    3.     @PostMapping("/loginc")
    4.     public String loginByHutool(@RequestParam("verifyCode") String verifyCode,
    5.                         HttpSession session){
    6.         String captchaCode = session.getAttribute("verifyCode") + "";
    7.         if(verifyCode.equals(captchaCode)){
    8.             return "success";
    9.         }
    10.         return "false";
    11.     }
    12. }

    Spring使用验证码:Kaptcha - 简书

  • 相关阅读:
    【AI实战】CUDA 编程入门及开源项目代码分享
    P8554 心跳
    git:一个本地仓库绑定多个远程的方法以及遇到的问题
    AI人脸检测智能分析网关算法模型管理,支持自由组合算法
    (十六)模板与泛型编程
    android Room数据库使用之多List<Object>并存。
    easyexcel操作之名称匹配
    根据指定的原始图像和掩码图像,生成一个圆形图像
    06、HSMS协议介绍
    黄仁勋:英伟达预言 2 年内行业将面目全非 一个词形容AI:Unbelievable
  • 原文地址:https://blog.csdn.net/weixin_53998054/article/details/127832219