通过 hutool 工具类生成图形验证码

961 阅读1分钟

验证码在项目中基本是必备的一个功能,使用 Java 语言生成图形验证码的时候,首先我们需要生成随机验证码,然后通过一些绘画工具添加干扰线,最后通过流转为图片,这样一个流程算是比较繁琐的。

通过 hutool 工具,可以快速生成图形验证码,同时也提供了多种方法供我们使用,比如验证、读取验证码内容等。

前提:添加依赖

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

注:这里使用 maven 工具创建,可以在官网 https://www.hutool.cn/ 找到依赖,也可以可以下载jar包添加即可。

创建图形验证码的方法:

public static void main(String[] args) {
    // 生成图形验证码
    LineCaptcha lineCaptcha= cn.hutool.captcha.CaptchaUtil.createLineCaptcha(200,100,4,200);
    // 输出验证码
    lineCaptcha.write("captcha.png");
}

注:这里createLineCaptcha方法的参数为 长、宽、验证码数字数量、干扰线数量,实际上参数还有其他使用情况。

生成图形验证码如下: image.png

获取验证码内容:

public static void main(String[] args) {
    // 获取验证码内容
    String captcha = lineCaptcha.getCode();
    System.out.println("生成验证码内容为:" + captcha);
}

控制台输出结果如下:
    生成验证码内容为:wsfi

校验验证码内容:

public static void main(String[] args) {
    // 比较验证码内容
    boolean isPass = lineCaptcha.verify("mzgn");
    System.out.println("校检状态为:" + isPass);
}

控制台输出结果如下:
    校检状态为:false

通过 hutool 工具类来创建图形验证码会方便更多,如果有什么错误请指教。