
三行代码生成验证码并转换成base64
发布日期:2021-05-04 20:40:53
浏览次数:29
分类:原创文章
本文共 1583 字,大约阅读时间需要 5 分钟。
使用 Hutool 工具类
import cn.hutool.captcha.CaptchaUtil;import cn.hutool.captcha.LineCaptcha;import cn.hutool.core.io.FileUtil;import cn.hutool.core.lang.Console;import sun.misc.BASE64Encoder;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;/** * Created with IntelliJ IDEA. * * @Auther: zlf * @Date: 2021/04/26/22:40 * @Description: */public class CaptchaTest { public static void main(String[] args) throws IOException { //定义图形验证码的长和宽 LineCaptcha lineCaptcha = CaptchaUtil.createLineCaptcha(200, 100); //图形验证码写出,可以写出到文件,也可以写出到流 写出至文件// lineCaptcha.write("d:/line.png");//// String code = lineCaptcha.getCode();// System.out.println("验证码--- " + code);// //验证图形验证码的有效性,返回boolean值// boolean verify = lineCaptcha.verify("1234");// //重新生成验证码// lineCaptcha.createCode(); // 手动转base64// File file = FileUtil.touch("d:/line.png");// FileInputStream inputFile = new FileInputStream(file);// byte[] buffer = new byte[(int)file.length()];// inputFile.read(buffer);// inputFile.close();// // base64// String encode = new BASE64Encoder().encode(buffer);// System.out.println(encode); // 使用 hutool 工具类 String code = lineCaptcha.getCode(); String imageBase64 = lineCaptcha.getImageBase64(); System.out.println(imageBase64); }}
使用场景
当生成验证码后将验证码,以及随机生成的key,保存至redis(验证码作为value),将验证码的base64字符串返回给前端,显示在页面中,用户可以根据识别验证码输入。
<img src="data:image/png;base64,编码code"
/>
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年03月30日 18时29分57秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
说说第一份工作
2021-05-09
dojo/request模块整体架构解析
2021-05-09
dojo/aspect源码解析
2021-05-09
Web性能优化:What? Why? How?
2021-05-09
Javascript定时器学习笔记
2021-05-09
dojo的发展历史
2021-05-09
Python存储系统(Redis)
2021-05-09
C语言指针收藏
2021-05-09
.net 4种单例模式
2021-05-09
T4 生成数据库实体类
2021-05-09
C#搞个跨平台的桌面NES游戏模拟器
2021-05-09
手把手教你安装Eclipse最新版本的详细教程 (非常详细,非常实用)
2021-05-09
《带你装B,带你飞》pytest成魔之路4 - fixture 之大解剖
2021-05-09
互联网App应用程序测试流程及测试总结
2021-05-09
根据轨迹分析出用户家在哪
2021-05-09
PostgreSQL查询表名称及表结构
2021-05-09
linux中使用awk命令
2021-05-09
LAB2 内核的内存管理
2021-05-09
如何使用google搜索?
2021-05-09
Redis分布式锁的正确实现方式
2021-05-09