首页 >> 编程知识

图片验证码之hutool生成图片验证码

图片处理.jpg

图片验证码这个工具在现在网站中使用特别多,今天我给大家介绍一款开源工具库,它包含了图片验证码的快速生成代码。

依赖引入

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.8.39</version>
</dependency>

下面是java代码:

1、直线干扰验证码

lineCode.png

@GetMapping("/lineCode")
public void lineCode(HttpServletResponse response) throws IOException {
    LineCaptcha lineCaptcha = CaptchaUtil.createLineCaptcha(200100520);
    response.setContentType("image/png");
    response.setHeader("Pragma""No-cache");
    response.setHeader("Cache-Control""no-cache");
    response.setDateHeader("Expires"0);
    // 输出图片流
    lineCaptcha.write(response.getOutputStream());
}

2、圆圈干扰验证码

circleCode.png

@GetMapping("/circleCode")
public void circleCode(HttpServletResponse response) throws IOException {
    CircleCaptcha circleCaptcha = CaptchaUtil.createCircleCaptcha(200100520);
    response.setContentType("image/png");
    response.setHeader("Pragma""No-cache");
    response.setHeader("Cache-Control""no-cache");
    response.setDateHeader("Expires"0);
    // 输出图片流
    circleCaptcha.write(response.getOutputStream());
}

3、gif验证码

gifCode.gif

@GetMapping("/gifCode")
public void gifCode(HttpServletResponse response) throws IOException {
    GifCaptcha gifCaptcha = CaptchaUtil.createGifCaptcha(200100510.9f);
    response.setContentType("image/gif");
    response.setHeader("Pragma""No-cache");
    response.setHeader("Cache-Control""no-cache");
    response.setDateHeader("Expires"0);
    // 输出图片流
    gifCaptcha.write(response.getOutputStream());
}

4、四则运算验证码

matchCode.png

private ShearCaptcha shearCaptcha;

@GetMapping("/matchCode")
public void matchCode(HttpServletResponse response) throws IOException {
    shearCaptcha = CaptchaUtil.createShearCaptcha(200100);
    MathGenerator mathGenerator = new MathGenerator();
    shearCaptcha.setGenerator(mathGenerator);
    response.setContentType("image/png");
    response.setHeader("Pragma""No-cache");
    response.setHeader("Cache-Control""no-cache");
    response.setDateHeader("Expires"0);

    // 输出图片流
    shearCaptcha.write(response.getOutputStream());
}

功能特别丰富,你甚至可以自定义一些验证码生成方式,这个就需要大家自己去探索了。

所有评论

最新文章
Token都去哪了?深度扒皮:Claude在Minimax上的'抽水'行为为何远超OpenCode2026-07-10
ai编程中的强大skill2026-05-15
Elastic-Job 的发展历程、核心特性(Lite 与 Cloud)2026-02-27
分布式任务调度场景与挑战2026-02-27
图片验证码之hutool生成图片验证码2025-11-28
关于我2025-11-12
关于我 备案号:蜀ICP备2023042032号-3