基于springboot 验证码框架kaptcha使用

一、统一步骤引入maven坐标

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

二、配置验证码生成规则并将框架实现类导入Spring容器

 @Beanpublic DefaultKaptcha getDefaultKaptcha() {DefaultKaptcha defaultKaptcha = new DefaultKaptcha();Properties properties = new Properties();// 图片边框,合法值yes,no,默认值yesproperties.setProperty("kaptcha.border", "no");// 边框颜色,合法值rgb(and optional alpha)或者 white,black,blue,默认值blackproperties.setProperty("kaptcha.border.color", "105,179,90");// 边框厚度,合法值>0,默认值为1properties.setProperty("kaptcha.border.color", "2");// 图片宽度,默认值200properties.setProperty("kaptcha.image.width", "200");// 图片高度,默认值50properties.setProperty("kaptcha.image.height", "50");// 验证码长度,默认值为5properties.setProperty("kaptcha.textproducer.char.length", "4");// 字体,默认值Arial, Courier(如果使用中文验证码,则必须使用中文的字体,否则出现乱码)properties.setProperty("kaptcha.textproducer.font.names", "宋体,楷体,微软雅黑");// 字体颜色,合法值: r,g,b 或者 white,black,blue,默认值blackproperties.setProperty("kaptcha.textproducer.font.color", "black");// 字体大小,默认值为40pxproperties.setProperty("kaptcha.textproducer.font.size", "40");// 文字间隔,默认值为2properties.setProperty("kaptcha.textproducer.char.space", "3");// 干扰 颜色,合法值: r,g,b 或者 white,black,blue,默认值blackproperties.setProperty("kaptcha.noise.color", "blue");// 水纹com.google.code.kaptcha.impl.WaterRipple// 鱼眼com.google.code.kaptcha.impl.FishEyeGimpy// 阴影com.google.code.kaptcha.impl.ShadowGimpyproperties.setProperty("kaptcha.obscurificator.impl", "com.google.code.kaptcha.impl.ShadowGimpy");// 背景颜色渐变,开始颜色,默认值lightGray/192,193,193properties.setProperty("kaptcha.background.clear.from", "255,255,255");// 背景颜色渐变, 结束颜色,默认值whiteproperties.setProperty("kaptcha.background.clear.to", "white");Config config = new Config(properties);defaultKaptcha.setConfig(config);return defaultKaptcha;}

三、编写controller

@Controller
public class VerifyCodeController {@AutowiredDefaultKaptcha defaultKaptcha;@RequestMapping("/verifyCode")public void verifyCode(HttpServletResponse httpServletResponse) throws IOException {// 获取字符串验证码String verifyCodeStr = defaultKaptcha.createText();// 通过字符串验证码生成图片验证码BufferedImage verifyCodeImage = defaultKaptcha.createImage(verifyCodeStr);// 设置响应头httpServletResponse.setHeader("Cache-Control", "no-store");httpServletResponse.setHeader("Pragma", "no-cache");httpServletResponse.setContentType("image/jpeg");ServletOutputStream ops = httpServletResponse.getOutputStream();// 将验证码写出浏览器ImageIO.write(verifyCodeImage, "jpg", ops);}
}

生成的验证码效果:

四、以下是验证码生成规则配置表。

Constant 描述 默认值
kaptcha.border 图片边框,合法值:yes , no yes
kaptcha.border.color 边框颜色,合法值: r,g,b (and optional alpha) 或者 white,black,blue black
kaptcha.border.thickness 边框厚度,合法值:>0 1
kaptcha.image.width 图片宽 200
kaptcha.image.height 图片高 50
kaptcha.producer.impl 图片实现类 com.google.code.kaptcha.impl.DefaultKaptcha
kaptcha.textproducer.impl 文本实现类 com.google.code.kaptcha.text.impl.DefaultTextCreator
kaptcha.textproducer.char.string 文本集合,验证码值从此集合中获取 abcde2345678gfynmnpwx
kaptcha.textproducer.char.length 验证码长度 5
kaptcha.textproducer.font.names 字体 Arial, Courier
kaptcha.textproducer.font.size 字体大小 40px.
kaptcha.textproducer.font.color 字体颜色,合法值: r,g,b 或者 white,black,blue. black
kaptcha.textproducer.char.space 文字间隔 2
kaptcha.noise.impl 干扰实现类 com.google.code.kaptcha.impl.DefaultNoise
kaptcha.noise.color 干扰 颜色,合法值: r,g,b 或者 white,black,blue. black
kaptcha.obscurificator.impl 图片样式: 水纹com.google.code.kaptcha.impl.WaterRipple 鱼眼com.google.code.kaptcha.impl.FishEyeGimpy阴影com.google.code.kaptcha.impl.ShadowGimpy com.google.code.kaptcha.impl.WaterRipple
kaptcha.background.impl 背景实现类 com.google.code.kaptcha.impl.DefaultBackground
kaptcha.background.clear.from 背景颜色渐变,开始颜色 light grey
kaptcha.background.clear.to 背景颜色渐变, 结束颜色 white
kaptcha.word.impl 文字渲染器 com.google.code.kaptcha.text.impl.DefaultWordRenderer
kaptcha.session.key session key KAPTCHA_SESSION_KEY
kaptcha.session.date session date KAPTCHA_SESSION_DATE

Kaptcha 验证码框架使用相关推荐

  1. Java笔记-使用Kaptcha验证码框架

    使用Kaptcha这个验证码框架用起来,比自己写简单 首先设置maven项目: <dependency><groupId>com.github.penggle</grou ...

  2. 《Java从入门到放弃》框架入门篇:使用kaptcha验证码框架

    使用kaptcha框架实现的验证码效果如下图 使用该验证码框架的步骤如下: 一.引入 kaptcha-2.3.2.jar(点击下载) 文件. 二.在web.xml中配置验证码Servlet. < ...

  3. kaptcha验证码实现,配合spring boot使用

    一.kaptcha介绍 Kaptcha是谷歌放在github上的一个验证码jar包,我们可以简单配置属性实现验证码的验证功能. kaptcha参数设置如下所示: Constant 描述 默认值 kap ...

  4. kaptcha验证码组件使用简介

    kaptcha验证码组件使用简介 Kaptcha是一个基于SimpleCaptcha的验证码开源项目. 官网地址:http://code.google.com/p/kaptcha/ kaptcha的使 ...

  5. kaptcha 验证码在spring mvc 中的使用

    转自:http://ttaale.iteye.com/blog/808719 kaptcha 是一个非常实用的验证码生成工具.有了它,你可以生成各种样式的验证码,因为它是可配置的.kaptcha工作的 ...

  6. java kaptcha_java相关:kaptcha验证码使用方法详解

    java相关:kaptcha验证码使用方法详解 发布于 2020-6-7| 复制链接 摘记: 本文为大家分享了kaptcha验证码的使用方法,供大家参考,具体内容如下1.首先在pom.xml文件中导入 ...

  7. Springboot整合kaptcha验证码

    Springboot整合kaptcha验证码 01.通过配置类来配置kaptcha 01-01.添加kaptcha的依赖: <!-- kaptcha验证码 --> <dependen ...

  8. springboot集成kaptcha验证码

    导入依赖 <!-- kaptcha 验证码开源组件 --> <dependency><groupId>com.github.penggle</groupId& ...

  9. Gateway + Redis整合Kaptcha验证码

    引言 验证码的作用: 防止自动化代码(爬虫,恶意脚本)来直接发送请求 确认用户信息的真实性 1. pom依赖 <dependency><groupId>org.springfr ...

  10. Spring MVC 中使用 Google kaptcha 验证码

    验证码是抵抗批量操作和恶意登录最有效的方式之一. 验证码从产生到现在已经衍生出了很多分支.方式.google kaptcha 是一个非常实用的验证码生成类库. 通过灵活的配置生成各种样式的验证码,并将 ...

最新文章

  1. 支持透明窗口显示的webbrowser_支持十点触控!LG推出新透明OLED显示屏
  2. WeChall_Training: Register Globals
  3. Sublime Text插件列表
  4. linux分区文件 pe,关于linux的磁盘和分区的操作(一)
  5. 程序常用配置文件格式介绍
  6. 手机应用开发者必看:移动开发者大势图
  7. Output path is shared between the same module error
  8. 【图像融合】基于matlab GUI简单+拉普拉斯金字塔算法图像融合【含Matlab源码 780期】
  9. java机房温度监测的仿真_基于三维仿真的数据中心机房监控可视化管理
  10. 优秀ppt作品下载欣赏
  11. 每日新闻:国美与车势达成独家战略合作;腾讯Tsrc年度峰会破界召开;日本将允许高度自动驾驶车上路;“开源芯片”是芯片发展的新潮流...
  12. SQL总结 学期前8周学习内容
  13. 基于Java的电影售票网站
  14. ssm基于微信小程序的游泳馆管理系统 uinapp 计算机毕业设计
  15. 电子邮件地址怎么写,国内电子邮件服务商有哪些,怎么申请注册邮件地址大全账号?
  16. 千里之行,始于足下(二)-------创建基类
  17. 布尔教育php视频下载,布尔教育2016视频:PHP留言板制作教程
  18. 2017-12-22 日语编程语言抚子-第三版实现初探
  19. ueditor 取消工具栏悬浮
  20. 分析 | NFTScan NFT API 在加密钱包开发中的应用

热门文章

  1. SQLite3介绍及SQL语句详解(SQLite一)
  2. Java IO(文件流)
  3. MessageQueue-JNI: Exception in MessageQueue callback: handleReceiveCallback
  4. erdas几何校正_遥感图像的几何校正
  5. 使用360安全卫士对计算机进行体检,360安全卫士使用教程 电脑体检
  6. 前端使用身份证阅读器(高拍仪)集成vue项目
  7. java计算器取余_java计算器代码,只有加减乘除和取余运算的??
  8. android 高仿国美,iOS高仿国美、二次元应用、点赞喷射动画、电影筛选页等源码...
  9. 句法结构中的语义分析
  10. 【操作指导】安捷伦数据采集器开机自检/通讯接口设置说明