• CaptchaUtil工具类生成GIF四则运算验证码



    一、流程

    1、依赖

            <dependency>
                <groupId>cn.hutoolgroupId>
                <artifactId>hutool-allartifactId>
                <version>5.7.13version>
            dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5

    2、代码

        /**
         * 生成验证码
         *
         * @param httpServerRequest
         * @param httpServerResponse
         */
        @GetMapping("/generateCaptcha")
        public void generateCaptcha(HttpServletRequest httpServerRequest, HttpServletResponse httpServerResponse) {
            //生成验证码图片
            //        LineCaptcha lineCaptcha = CaptchaUtil.createLineCaptcha(200, 100);
            //生成验证码GIF
    		//        GifCaptcha lineCaptcha = CaptchaUtil.createGifCaptcha(200, 100);
            // 生成验证码四则运算
            GifCaptcha lineCaptcha = CaptchaUtil.createGifCaptcha(200, 100);
            lineCaptcha.setGenerator(new MathGenerator(1));//参数表示几位运算符
            try {
                httpServerRequest.getSession().setAttribute("CAPTCHA_KEY", lineCaptcha.getCode());
                //log.info(lineCaptcha.getCode());//获取验证码CODE
                //log.info(String.valueOf(lineCaptcha.verify("0")));//验证是否正确
                httpServerResponse.setContentType("image/png");//告诉浏览器输出内容为图片
                httpServerResponse.setHeader("Pragma", "No-cache");//禁止浏览器缓存
                httpServerResponse.setHeader("Cache-Control", "no-cache");
                httpServerResponse.setDateHeader("Expire", 0);
                lineCaptcha.write(httpServerResponse.getOutputStream());
                // 关闭流
                httpServerResponse.getOutputStream().close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30

    3、结果

    在这里插入图片描述

    4、接口演示

    在这里插入图片描述

    • 只有足够强大才有权利选择你想要的。
    • 如果你总是做自己擅长的事,那你将永远不会进步。
    • 你会好起来的,只是不是今天。
    • 要么出类拔萃,要么甘于平庸,不要一边自命不凡,一边不想努力。
    • 丧气话都是用来发泄,说给别人听的,表面泄气就好啦,内心一定要给自己偷偷鼓劲。
    • 在还可以放肆的年纪,要有坚定的、磊落的倔强,年少轻狂也好、特立独行也罢,不要畏惧。
    • 别想太多,好好生活。也许日子过着过着就会有答案,努力走着走着就会有温柔的着落。
    • 你不能一直做一些烂事,然后自己后悔,好像后悔有用一样,你需要变好。
    • 一个成熟的人,一定懂得认清自己的现状,将励志宣言带来的情绪,转化成此刻的行动,踏踏实实完成每天的努力份额。
    • 最怕你,一生碌碌无为,还安慰自己,平凡可贵。
    • 每一个想要学习的念头,都有可能是未来的你在向你求救。
    • 如果你长大以后,爸爸妈妈还是很辛苦,那你长大有什么用呢。62、比让所有人都瞧不起还难受的滋味就是让所有人同情你。
    • 你不能一直做—件烂事,然后自己去后悔,好像后悔有用一样,你需要变好。
    • 人可以在金钱上贫穷,但绝不能在精神上贫乏。你可以一无所有,但是绝不可以一无是处。65、你过什么样的生活取决于你有多努力。
    • 如果你长大以后爸爸妈妈还是很辛苦那你长大有什么用呢。
  • 相关阅读:
    Leetcode 206反转链表、3无重复字符的最长子串、912排序数组(快排)、215数组中的第k个最大元素、53最大子数组和、152乘积最大子数组
    4-4网络层-IPv6
    FPGA实战2-数码管实验verilog
    高数 | 周洋鑫 冲刺预测题自用整理复习
    B44 - 基于stm32蓝牙智能语音识别分类播报垃圾桶
    swift内存绑定
    《docker基础篇》1.Docker简介,包括Docker是什么、容器与虚拟机比较、能干嘛、去哪下
    嵌入式实时操作系统的设计与开发 (线程操作学习)
    【COMSE 2022已检索】2023年材料科学与工程国际会议(COMSE 2023)火热征稿中!
    FastAPI+aiohttp+uvicorn快速搭建个人服务
  • 原文地址:https://blog.csdn.net/weixin_46146718/article/details/127995821