项目结构:
SpringBoot 2.7
Vue2
不想了解的,直接跳转到 快速上手 目录

Kaptcha 是什么?

Kaptcha 是一个可高度配置的实用验证码生成工具,可自由配置的选项如:

  1. 验证码的字体
  2. 验证码字体的大小
  3. 验证码字体的字体颜色
  4. 验证码内容的范围(数字,字母,中文汉字!)
  5. 验证码图片的大小,边框,边框粗细,边框颜色
  6. 验证码的干扰线
  7. 验证码的样式(鱼眼样式、3D、普通模糊、…)

快速上手

导入依赖

<dependency><groupId>com.github.penggle</groupId><artifactId>kaptcha</artifactId><version>2.3.2</version>
</dependency>

1 编写kapthca配置类: KaptchaConfig 类

 package com.example.demo.config;import com.google.code.kaptcha.impl.DefaultKaptcha;
import com.google.code.kaptcha.util.Config;
import org.springframework.context.annotation.Bean;import org.springframework.stereotype.Component;import java.util.Properties;/*** @Configuration 和 @Component* @Configuation 的本质就是 Component*/
@Component
public class KaptchConfig {@Beanpublic DefaultKaptcha getDefaultKaptcha() {com.google.code.kaptcha.impl.DefaultKaptcha defaultKaptcha = new com.google.code.kaptcha.impl.DefaultKaptcha();Properties properties = new Properties();// 图片边框properties.setProperty("kaptcha.border", "no");// 边框颜色properties.setProperty("kaptcha.border.color", "black");//边框厚度properties.setProperty("kaptcha.border.thickness", "1");// 图片宽properties.setProperty("kaptcha.image.width", "120");// 图片高properties.setProperty("kaptcha.image.height", "60");//图片实现类properties.setProperty("kaptcha.producer.impl", "com.google.code.kaptcha.impl.DefaultKaptcha");//文本实现类properties.setProperty("kaptcha.textproducer.impl", "com.google.code.kaptcha.text.impl.DefaultTextCreator");//文本集合,验证码值从此集合中获取properties.setProperty("kaptcha.textproducer.char.string", "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ");//验证码长度properties.setProperty("kaptcha.textproducer.char.length", "4");//字体properties.setProperty("kaptcha.textproducer.font.names", "宋体");//字体颜色properties.setProperty("kaptcha.textproducer.font.color", "black");//文字间隔properties.setProperty("kaptcha.textproducer.char.space", "4");//干扰实现类properties.setProperty("kaptcha.noise.impl", "com.google.code.kaptcha.impl.DefaultNoise");//干扰颜色properties.setProperty("kaptcha.noise.color", "blue");//干扰图片样式properties.setProperty("kaptcha.obscurificator.impl", "com.google.code.kaptcha.impl.WaterRipple");//背景实现类properties.setProperty("kaptcha.background.impl", "com.google.code.kaptcha.impl.DefaultBackground");//背景颜色渐变,结束颜色properties.setProperty("kaptcha.background.clear.to", "white");//文字渲染器properties.setProperty("kaptcha.word.impl", "com.google.code.kaptcha.text.impl.DefaultWordRenderer");Config config = new Config(properties);defaultKaptcha.setConfig(config);return defaultKaptcha;}}

Controller 层 :

    @ResourceDefaultKaptcha defaultKaptcha;//生成验证码@RequestMapping("/Code")public ResultVo Code() throws IOException {// 生成文字验证码String text=defaultKaptcha.createText();System.out.println("文字验证码为"+text);// 生成图片验证码ByteArrayOutputStream out = null;BufferedImage image = defaultKaptcha.createImage(text);out=new ByteArrayOutputStream();ImageIO.write(image,"jpg",out);// 对字节组Base64编码return ResultVo.success("img",Base64.getEncoder().encodeToString(out.toByteArray()));}

前端Vue页面:

  getCode() {this.axios({method: "post",url: "http://localhost:8182/Code"}).then(res => {console.log(res)document.getElementById("codeImg").src = 'data:image/jpeg;base64,' + res.data.data;})}

Kaptcha 使用教程相关推荐

  1. spring boot集成kaptcha图形验证码

    文章目录 环境变化引发的思考 web.xml设置kaptcha图形验证码 config设置kaptcha图形验证码 kaptcha图形验证码完整教程 kaptcha图形验证码属性表 Linux环境下k ...

  2. 使用Docker搭建svn服务器教程

    使用Docker搭建svn服务器教程 svn简介 SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS.互联网上很 ...

  3. mysql修改校对集_MySQL 教程之校对集问题

    本篇文章主要给大家介绍mysql中的校对集问题,希望对需要的朋友有所帮助! 推荐参考教程:<mysql教程> 校对集问题 校对集,其实就是数据的比较方式. 校对集,共有三种,分别为:_bi ...

  4. mysql备份psb文件怎么打开_Navicat for MySQL 数据备份教程

    原标题:Navicat for MySQL 数据备份教程 一个安全和可靠的服务器与定期运行备份有密切的关系,因为错误有可能随时发生,由攻击.硬件故障.人为错误.电力中断等都会照成数据丢失.备份功能为防 ...

  5. php rabbmq教程_RabbitMQ+PHP 教程一(Hello World)

    介绍 RabbitMQ是一个消息代理器:它接受和转发消息.你可以把它当作一个邮局:当你把邮件放在信箱里时,你可以肯定邮差先生最终会把邮件送到你的收件人那里.在这个比喻中,RabbitMQ就是这里的邮箱 ...

  6. 【置顶】利用 NLP 技术做简单数据可视化分析教程(实战)

    置顶 本人决定将过去一段时间在公司以及日常生活中关于自然语言处理的相关技术积累,将在gitbook做一个简单分享,内容应该会很丰富,希望对你有所帮助,欢迎大家支持. 内容介绍如下 你是否曾经在租房时因 ...

  7. Google Colab 免费GPU服务器使用教程 挂载云端硬盘

    一.前言 二.Google Colab特征 三.开始使用 3.1在谷歌云盘上创建文件夹 3.2创建Colaboratory 3.3创建完成 四.设置GPU运行 五.运行.py文件 5.1安装必要库 5 ...

  8. 理解和实现分布式TensorFlow集群完整教程

    手把手教你搭建分布式集群,进入生产环境的TensorFlow 分布式TensorFlow简介 前一篇<分布式TensorFlow集群local server使用详解>我们介绍了分布式Ten ...

  9. 高级教程: 作出动态决策和 Bi-LSTM CRF 重点

    https://www.zhihu.com/question/35866596 条件随机场 CRF(条件随机场)与Viterbi(维特比)算法原理详解 https://blog.csdn.net/qq ...

最新文章

  1. 想提前目睹人到中年的发型?试试这款自制秃头生成器
  2. 10 款 VS Code 插件神器,第 7 款超级实用!
  3. python 的标准库模块glob使用教程,主要为glob.glob()使用与glob.iglob()使用
  4. 超图js版本添加矢量图层并在图层上绘一个面要素
  5. AWS re:Invent 2019 召开 | 云原生生态周报 Vol. 30
  6. 利用Jqurey写一个输入内容增加并且可以删除,上下移动的标签
  7. 会话管理 轻量php框架_SpringSecurity+JWT权限管理训练营-1基于RBAC模型的权限管理系统...
  8. Command python setup.py egg_info failed with error code 1 in
  9. 人口logistic模型公式_MATLAB做logistics人口模型,求出值有问题
  10. python遍历字母_如何遍历字母表?
  11. 解决Xcode报错“The certificate used to sign “xxxxxx” has either expired or has been revoked“
  12. 手把手教你如何微信公众号开发
  13. win10锁定计算机后黑屏,Win10系统如何设置锁屏后不睡眠不黑屏
  14. 2019专业创业赛事活动平台
  15. Git上传代码文件至Github
  16. Lombok @RequiredArgsConstructor @Qualifier
  17. 简单的android游戏框架——zgf
  18. ubuntu20.04 使用root用户登录系统
  19. 南邮CTF:密码学 异性相吸
  20. 数字三角形(动态规划经典例题)

热门文章

  1. 创意Game交互可用性设计——操作、版面
  2. 健身瑜伽游泳篮球馆多门店私教课程预约会员卡小程序开发
  3. 原码_反码_补码_移码_阶码
  4. 畅想软件显示无法连接服务器,投屏神器怎么连接不上 连接电视方法详解
  5. vista下搞定无法删除的0k文件
  6. iOS 模拟器改变定位地点的两种方法
  7. 【图像融合】基于四叉树的加权聚焦多聚焦图像融合含Matlab源码
  8. 业余草总结常见计算广告点击率预估算法
  9. python 3.6.6安装fake_Python3 fake_useragent 模块的使用和报错解决方案
  10. Linux内核移植 part2:uboot 设备驱动模型