版权

1、引入Hutool

<dependency><groupId>com.xiaoleilu</groupId><artifactId>hutool-all</artifactId><version>3.2.3</version>
</dependency>

介绍
验证码功能位于com.xiaoleilu.hutool.captcha包中,核心接口为ICaptcha,此接口定义了以下方法:

createCode 创建验证码,实现类需同时生成随机验证码字符串和验证码图片
getCode 获取验证码的文字内容
verify 验证验证码是否正确,建议忽略大小写
write 将验证码写出到目标流中
其中write方法只有一个OutputStream,ICaptcha实现类可以根据这个方法封装写出到文件等方法。

AbstractCaptcha为一个ICaptcha抽象实现类,此类实现了验证码文本生成、非大小写敏感的验证、写出到流和文件等方法,通过继承此抽象类只需实现createImage方法定义图形生成规则即可。

实现类

1、LineCaptcha 线段干扰的验证码
生成效果大致如下

//定义图形验证码的长和宽
LineCaptcha lineCaptcha = CaptchaUtil.createLineCaptcha(200, 100);
//LineCaptcha lineCaptcha = new LineCaptcha(200, 100, 4, 150);
//图形验证码写出,可以写出到文件,也可以写出到流
lineCaptcha.write("d:/line.png");
//验证图形验证码的有效性,返回boolean值
lineCaptcha.verify("1234");

2、CircleCaptcha 圆圈干扰验证码

//定义图形验证码的长、宽、验证码字符数、干扰元素个数
CircleCaptcha captcha = CaptchaUtil.createCircleCaptcha(200, 100, 4, 20);
//CircleCaptcha captcha = new CircleCaptcha(200, 100, 4, 20);
//图形验证码写出,可以写出到文件,也可以写出到流
captcha.write("d:/circle.png");
//验证图形验证码的有效性,返回boolean值
captcha.verify("1234");

3、ShearCaptcha 扭曲干扰验证码

//定义图形验证码的长、宽、验证码字符数、干扰线宽度
ShearCaptcha captcha = CaptchaUtil.createShearCaptcha(200, 100, 4, 4);
//ShearCaptcha captcha = new ShearCaptcha(200, 100, 4, 4);
//图形验证码写出,可以写出到文件,也可以写出到流
captcha.write("d:/shear.png");
//验证图形验证码的有效性,返回boolean值
captcha.verify("1234");

使用Hutool生成和验证图形验证码相关推荐

  1. java+vue3实现生成、验证图形验证码,和手机短信验证码

    一.效果图 二.实现生成图形验证码.校验验证码 1.实现后端接口 ①控制层代码 /*** 生成图片验证码* time用于保证每次可以刷新图片验证码*/@GetMapping("authCod ...

  2. 用Hutool工具包制作图形验证码

    一.认识Hutool. Hutool是一个Java工具包,也只是一个工具包,它帮助我们简化每一行代码,减少每一个方法,让Java语言也可以"甜甜的".Hutool最初是我项目中&q ...

  3. redis实现图形验证码的存储和验证

    生成图形验证码 import random import string import uuid from captcha.image import ImageCaptcha# 连接Redis,相当于r ...

  4. java 验证码 算术_java生成图形验证码(算数运算图形验证码 + 随机字符图形验证码)...

    平凡也就两个字: 懒和惰; 成功也就两个字: 苦和勤; 优秀也就两个字: 你和我. 跟着我从0学习JAVA.spring全家桶和linux运维等知识,带你从懵懂少年走向人生巅峰,迎娶白富美! 关注微信 ...

  5. ASP.NET Core 跨平台图形验证码实现

    概述 几年前,大部分网站.论坛之类的是没有验证码的,因为对于一般用户来说验证码只是增加了用户的操作,降低了用户的体验.但是后来各种灌水机器人.投票机器人.恶意注册机器人层出不穷,大大增加了网站的负担同 ...

  6. django图形验证码和邮件

    设计知识点: django验证码插件的使用 django发送邮件 form表单数据过滤,前端渲染,包括错误信息 一.图形验证码 1.准备工作 pip install django-simple-cap ...

  7. laravel图形验证码

    1,安装扩展 在Laravel中有很多图片验证码的库可以使用,我们使用:gregwar/captcha,这个库比较简单,在Laravel中比较常用 composer gregwar/captcha 2 ...

  8. SpringBoot生成图形验证码

    需求:验证码一码一用,验证之后,不管是成功还是失败,都需要重新获取或者刷新二维码. 大致思路:后端生成验证码后还需要生成一个UUID与之对应,存储到缓存(记得添加过期时间),把UUID和验证码反给前端 ...

  9. java 图形校验_java图形验证码生成工具类 web页面校验验证码

    java图形验证码生成工具类 web页面校验验证码 发布于 2020-7-14| 复制链接 摘记: 最近做验证码,参考网上案例,发现有不少问题,特意进行了修改和完善.验证码生成器: ```java i ...

最新文章

  1. mysql 触发器死循环_请教如何避免该条触发器的死循环
  2. 《HTML5游戏编程核心技术与实战》——2.8 小结
  3. 硬中断与软中断的区别!!!
  4. python按章节分割txt_python爬虫,爬取小说
  5. s2sh框架搭建(辅助工具:MyEclipse)及解决一些遇到的问题
  6. Python批量替换目录下文件后缀脚本实例
  7. Ubuntu中的密钥环密码与登陆密码不同
  8. 将控制台输出重定向到textbox的dotnet类
  9. Zephyr单元测试框架:ztest/twister的使用和介绍
  10. 【SQL Server】CONVERT() 函数
  11. 由耶稣遗物看西方历史的造假
  12. github下载的代码、怎么使用 python_Python学习20-补充内容之GitHub安装使用
  13. 李开复谈软件外包及软件安全(一)
  14. 16位图xxxxxxxxxxxx
  15. PTA 7-6 sdut-oop-5 计算长方体和四棱锥的表面积和体积(类的继承) (10 分) JAVA
  16. 最近爆火的DDD到底是什么?一文带你落地DDD
  17. 现代大学英语精读第二版(第五册)学习笔记(原文及全文翻译)——12 - The Indispensable Opposition(不可缺少的反对派)
  18. 用Verilog编写“数显LED的亮度控制电路”
  19. html写一个简单版动态爱心
  20. scratch编程--游泳的火柴人

热门文章

  1. 10-2 STM32制作感应灯
  2. 智取天狼星计划(一)
  3. win10 1803 频繁死机,卡死不动
  4. 一个80后创业的好榜样
  5. nuxt.js添加工具块 / js代码。Statcounter 分析器案例
  6. 竞选]美国总统竞选 奥巴马 演讲
  7. 文摘_安全经过广州火车站攻略(去广州的必看)
  8. 2021年6月墨天轮国产数据库排行榜:OceanBase、PolarDB会师TiDB、openGauss,入局开源阵营,逐鹿生态建设
  9. 印度药厂Hetero推首款世卫预审新冠口服仿制药;DHL快递无锡口岸落成 | 美通企业日报...
  10. 51单片机学习:DS18B20温度传感器实验