1 Kaptcha

1.1 Kaptcha简介

Kaptcha 是一个扩展自simplecaptcha的验证码库,默认情况下,Kaptcha非常易于设置和使用,并且默认输出会产生一个很难验证的验证码。默认情况下,它生成的验证码看起来与上面的非常相似。如果您想更改输出的外观,则有几个配置选项,并且该框架是模块化的,因此您可以编写自己的变形代码。

1.2 Kaptcha详细配置表

Kaptcha常用属性
序号 属性名 描述 示例
1 kaptcha.width 验证码宽度 200
2 kaptcha.height 验证码高度 50
Kaptcha border(边框)属性
序号 属性名 描述 示例
1 kaptcha.border.enabled 是否显示边框 true
2 kaptcha.border.color 边框颜色 black
3 kaptcha.border.thickness 边框厚度 2
Kaptcha content(文本)属性
序号 属性名 描述 示例
1 kaptcha.content.length 验证码文本长度 5
2 kaptcha.content.source 文本源 abcde2345678gfynmnpwx
3 kaptcha.content.space 文本间隔 2
Kaptcha font(字体)属性
序号 属性名 描述 示例
1 kaptcha.font.name 字体名称 Arial
2 kaptcha.font.size 字体大小 40
3 kaptcha.font.color 字体颜色 black
Kaptcha background-color(背景颜色)属性
序号 属性名 描述 示例
1 kaptcha.background-color.from 背景颜色(开始渐变色) lightGray
2 kaptcha.background-color.to 背景颜色(结束渐变色) white

2 Maven依赖

        <!-- 验证码 --><dependency><groupId>com.baomidou</groupId><artifactId>kaptcha-spring-boot-starter</artifactId><version>1.1.0</version></dependency>

3 Spring Boot配置

#验证码宽度
kaptcha.width=200
#验证码高度
kaptcha.height=50
#验证码内容长度
kaptcha.content.length=4
#验证码内容源
kaptcha.content.source=ABCDEFGHIJKLMNOPQRSTUVWXYZ2345678923456789
#验证码内容间隔
kaptcha.content.space=2
#验证码字体名称
kaptcha.font.name=Arial
#验证码字体大小
kaptcha.font.size=40
#验证码字体颜色
kaptcha.font.color=black
#验证码背景颜色(开始颜色)
kaptcha.background-color.from=lightGray
#验证码背景颜色(结束颜色)
kaptcha.background-color.to=white
#验证码是否显示边框
kaptcha.border.enabled=true
#验证码边框颜色
kaptcha.border.color=black
#验证码边框厚度
kaptcha.border.thickness=1

4 调试代码

package com.controller;import com.baomidou.kaptcha.Kaptcha;
import com.baomidou.kaptcha.exception.KaptchaIncorrectException;
import com.baomidou.kaptcha.exception.KaptchaNotFoundException;
import com.baomidou.kaptcha.exception.KaptchaTimeoutException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;@RestController
public class KaptchaController {@Autowiredprivate Kaptcha kaptcha;/*** 获取Kaptcha验证码*/@GetMapping("/getKaptchaImg")public void getKaptchaImg() {//默认900秒kaptcha.render();}/*** 验证验证码** @param code 验证码* @return*/@GetMapping("/validCode")public String validCode(@RequestParam String code) {try {kaptcha.validate(code);} catch (Exception e) {if (e instanceof KaptchaIncorrectException) {return "验证码不正确";} else if (e instanceof KaptchaNotFoundException) {return "验证码未找到";} else if (e instanceof KaptchaTimeoutException) {return "验证码过期";} else {return "验证码渲染失败";}}return "验证通过";}
}

5 调试结果

5.1 生成验证码

5.2 验证验证码

5.2.1 验证通过

5.2.2 验证码不存在

Spring Boot 配置Kaptcha(谷歌验证码工具)(生成验证码、验证验证码)相关推荐

  1. Spring Boot 配置 HTTPS 访问

    Spring Boot 配置 HTTPS 访问 相关代码 生成证书 创建新证书 keytool -genkeypair -alias hellowood -keyalg RSA -keysize 20 ...

  2. tomcat xjar 加密_XJar Spring Boot JAR 安全加密运行工具

    GitHub: https://github.com/core-lib/xjar Spring Boot JAR 安全加密运行工具, 同时支持的原生JAR. 基于对JAR包内资源的加密以及拓展Clas ...

  3. Spring Boot 配置邮件发送

    本文目录: 1.前言 2.Spring Boot配置步骤 Ⅰ.添加依赖 Ⅱ.修改配置文件 Ⅲ.POP3/SMTP服务 Ⅳ.封装邮件工具类 1.定义接口IMailService.interface: 2 ...

  4. Spring Boot 配置元数据指南

    点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! 作者 | 遗失的拂晓 来源 | 公众号「锅外的大佬」 1. 概览 在编写 Spring Bo ...

  5. Spring Boot 配置随机数那些小技巧

    转载自  Spring Boot 配置随机数那些小技巧 Spring Boot支持在系统加载的时候配置随机数. 添加config/random.properties文件,添加以下内容: #随机32位M ...

  6. Spring Boot 2.0 配置图文教程第 2 章 Spring Boot 配置## 书信息 demo.book.name=[Spring Boot 2.x Core Action] demo.b

    本章内容 1.自定义属性快速入门 2.外化配置 3.自动配置 4.自定义创建 Starter 组件 摘录:读书是读完这些文字还要好好用心去想想,写书也一样,做任何事也一样 第 2 章 Spring B ...

  7. 详解HTTPS通信流程,使用JDK,openssl,XCA进行证书认证详细操作,Spring Boot配置SSL证书实操

    这里写目录标题 HTTPS SSL 通信流程 HTTPS一般使用的加密与HASH算法如下: 1.JDK JDK中自带keytool工具便携生成SSL证书,其代码参数如下 整合到spring boot项 ...

  8. Spring Boot配置SSL实现https请求

    Spring Boot配置SSL实现https请求 1. 生成SSL证书 专业的SSL证书较为昂贵,可以在腾讯云或者阿里云上申请免费的SSL证书. 如果只是做简单的demo,可以使用java自带的ke ...

  9. spring boot配置mybatis和事务管理

    spring boot配置mybatis和事务管理 一.spring boot与mybatis的配置 1.首先,spring boot 配置mybatis需要的全部依赖如下: <!-- Spri ...

最新文章

  1. 利用ATL创建com组件和如何在程序中使用组件的接口函数和设置接口的属性
  2. ASP.NET:性能与缓存
  3. matlab中fliter函数,用C语言实现MATLAB中Filter()函数
  4. mysql fulltext 分页_关于MySQL的FULLTEXT实现全文检索的注意事项
  5. MySQL Mathematical Functions(数学方法)
  6. 【廖雪峰官方网站/Java教程】泛型
  7. AspNetPager分页控件报错“对象不支持此属性或方法”
  8. Windows 10 KB3124200补丁无法安装的临时解决方案
  9. python写界面c这算法_OpenCV算法精解:基于Python与C.pdf
  10. 原理图端口符号_电气百科:电气原理图和接线图区别详解
  11. fastDFS 无法获取服务端连接资源:找不到可用的tracker
  12. 点云配准1-ICP算法 原理代码实现
  13. windwos11 小爱音箱链接上但是没有声音
  14. NTL密码算法开源库——大整数ZZ类(一)
  15. excel处置4000行数据卡_数十万数据Excel数据不好处理怎么办?几行Python搞定
  16. 2048网页版html项目报告,jQuery编写网页版2048小游戏
  17. 深度学习笔记(十一)—— 完整性检查[Sanity Checks]
  18. QRCode资料收集
  19. 面试刁难题——你有哪些缺点?
  20. 【计算机图形学】【OpenGL】基于窗口的Liang-Barsky的折线段裁剪的实现

热门文章

  1. 看牙医专用德语,附句子
  2. 教你提升企业生产效率,再也不用求人!
  3. 用户登录(记住用户)用户注册(验证码) [运用Cookie Session技术]
  4. 人人都需要知晓的四大最经典人生态势
  5. 【JQ+html+css】我的购物车-品优购(案例实现)
  6. 字符串匹配之RK算法
  7. 发朋友圈显示来自html5,朋友圈说说动态怎么显示来自iPhone XS 装逼技能get
  8. 阿维塔科技的今天他功不可没——谭本宏先生
  9. Android自定义日历控件,自带农历节假日,已经开源,即取即用~
  10. 新加坡金融管理局暂停本地STO