Kaptcha 验证码框架使用
基于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 验证码框架使用相关推荐
- Java笔记-使用Kaptcha验证码框架
使用Kaptcha这个验证码框架用起来,比自己写简单 首先设置maven项目: <dependency><groupId>com.github.penggle</grou ...
- 《Java从入门到放弃》框架入门篇:使用kaptcha验证码框架
使用kaptcha框架实现的验证码效果如下图 使用该验证码框架的步骤如下: 一.引入 kaptcha-2.3.2.jar(点击下载) 文件. 二.在web.xml中配置验证码Servlet. < ...
- kaptcha验证码实现,配合spring boot使用
一.kaptcha介绍 Kaptcha是谷歌放在github上的一个验证码jar包,我们可以简单配置属性实现验证码的验证功能. kaptcha参数设置如下所示: Constant 描述 默认值 kap ...
- kaptcha验证码组件使用简介
kaptcha验证码组件使用简介 Kaptcha是一个基于SimpleCaptcha的验证码开源项目. 官网地址:http://code.google.com/p/kaptcha/ kaptcha的使 ...
- kaptcha 验证码在spring mvc 中的使用
转自:http://ttaale.iteye.com/blog/808719 kaptcha 是一个非常实用的验证码生成工具.有了它,你可以生成各种样式的验证码,因为它是可配置的.kaptcha工作的 ...
- java kaptcha_java相关:kaptcha验证码使用方法详解
java相关:kaptcha验证码使用方法详解 发布于 2020-6-7| 复制链接 摘记: 本文为大家分享了kaptcha验证码的使用方法,供大家参考,具体内容如下1.首先在pom.xml文件中导入 ...
- Springboot整合kaptcha验证码
Springboot整合kaptcha验证码 01.通过配置类来配置kaptcha 01-01.添加kaptcha的依赖: <!-- kaptcha验证码 --> <dependen ...
- springboot集成kaptcha验证码
导入依赖 <!-- kaptcha 验证码开源组件 --> <dependency><groupId>com.github.penggle</groupId& ...
- Gateway + Redis整合Kaptcha验证码
引言 验证码的作用: 防止自动化代码(爬虫,恶意脚本)来直接发送请求 确认用户信息的真实性 1. pom依赖 <dependency><groupId>org.springfr ...
- Spring MVC 中使用 Google kaptcha 验证码
验证码是抵抗批量操作和恶意登录最有效的方式之一. 验证码从产生到现在已经衍生出了很多分支.方式.google kaptcha 是一个非常实用的验证码生成类库. 通过灵活的配置生成各种样式的验证码,并将 ...
最新文章
- 支持透明窗口显示的webbrowser_支持十点触控!LG推出新透明OLED显示屏
- WeChall_Training: Register Globals
- Sublime Text插件列表
- linux分区文件 pe,关于linux的磁盘和分区的操作(一)
- 程序常用配置文件格式介绍
- 手机应用开发者必看:移动开发者大势图
- Output path is shared between the same module error
- 【图像融合】基于matlab GUI简单+拉普拉斯金字塔算法图像融合【含Matlab源码 780期】
- java机房温度监测的仿真_基于三维仿真的数据中心机房监控可视化管理
- 优秀ppt作品下载欣赏
- 每日新闻:国美与车势达成独家战略合作;腾讯Tsrc年度峰会破界召开;日本将允许高度自动驾驶车上路;“开源芯片”是芯片发展的新潮流...
- SQL总结 学期前8周学习内容
- 基于Java的电影售票网站
- ssm基于微信小程序的游泳馆管理系统 uinapp 计算机毕业设计
- 电子邮件地址怎么写,国内电子邮件服务商有哪些,怎么申请注册邮件地址大全账号?
- 千里之行,始于足下(二)-------创建基类
- 布尔教育php视频下载,布尔教育2016视频:PHP留言板制作教程
- 2017-12-22 日语编程语言抚子-第三版实现初探
- ueditor 取消工具栏悬浮
- 分析 | NFTScan NFT API 在加密钱包开发中的应用
热门文章
- SQLite3介绍及SQL语句详解(SQLite一)
- Java IO(文件流)
- MessageQueue-JNI: Exception in MessageQueue callback: handleReceiveCallback
- erdas几何校正_遥感图像的几何校正
- 使用360安全卫士对计算机进行体检,360安全卫士使用教程 电脑体检
- 前端使用身份证阅读器(高拍仪)集成vue项目
- java计算器取余_java计算器代码,只有加减乘除和取余运算的??
- android 高仿国美,iOS高仿国美、二次元应用、点赞喷射动画、电影筛选页等源码...
- 句法结构中的语义分析
- 【操作指导】安捷伦数据采集器开机自检/通讯接口设置说明