验证码在项目中基本是必备的一个功能,使用 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方法的参数为 长、宽、验证码数字数量、干扰线数量,实际上参数还有其他使用情况。
生成图形验证码如下:
获取验证码内容:
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 工具类来创建图形验证码会方便更多,如果有什么错误请指教。