七叶笔记 » java编程 » springboot验证码的生成与验证的两种方法

springboot验证码的生成与验证的两种方法

前言

在springboot的登陆页面中为了防止机器大规模注册,机器暴力破解数据密码等危害,需要验证随机生成的验证码。现提出两种简易方案生成验证码功能,一种采用springboot整合kaptcha第三方验证码生成工具的生成方案;另一种采用springboot整合第三方类库hutool生成验证码,验证成功跳转至success页面,失败则跳转false页面。基本实现方案如下:

效果一览(单击图片刷新验证码)

一、使用整合kaptcha方式实现验证码生成与验证

kaptcha是一个可高度适配的使用验证码生成工具,Kaptcha详细配置表如下:

参考博客:Kaptcha

Constantdescriptiondefaultkaptcha.border图片边框,合法值:yes,noyeskaptcha.border.color边框颜色,合法值: r,g,b (and optional alpha) 或者 white,black,blue.blackkaptcha.image.width图片宽200kaptcha.image.height图片高50kaptcha.producer.impl图片实现类com.google.code.kaptcha.impl.DefaultKaptchakaptcha.textproducer.impl文本实现类com.google.code.kaptcha.text.impl.DefaultTextCreatorkaptcha.textproducer.char.string文本集合,验证码值从此集合中获取abcde2345678gfynmnpwxkaptcha.textproducer.char.length验证码长度5kaptcha.textproducer.font.names字体Arial, Courierkaptcha.textproducer.font.size字体大小40px.kaptcha.textproducer.font.color字体颜色,合法值: r,g,b 或者 white,black,blue.blackkaptcha.textproducer.char.space文字间隔2kaptcha.noise.impl干扰实现类com.google.code.kaptcha.impl.DefaultNoisekaptcha.noise.color干扰 颜色,合法值: r,g,b 或者 white,black,blue.blackkaptcha.obscurificator.impl图片样式:水纹 com.google.code.kaptcha.impl.WaterRipple鱼眼 com.google.code.kaptcha.impl.FishEyeGimpy阴影 com.google.code.kaptcha.impl.ShadowGimpycom.google.code.kaptcha.impl.WaterRipplekaptcha.background.impl背景实现类com.google.code.kaptcha.impl.DefaultBackgroundkaptcha.background.clear.from背景颜色渐变,开始颜色light greykaptcha.background.clear.to背景颜色渐变, 结束颜色whitekaptcha.word.impl文字渲染器com.google.code.kaptcha.text.impl.DefaultWordRendererkaptcha.session.keysession keyKAPTCHA_SESSION_KEYkaptcha.session.datesession dateKAPTCHA_SESSION_DATE

1.1 pom文件中导入kaptcha依赖

???? 新建springboot项目,并在其pom.xml中导入kaptcha依赖:

1.2 创建前端页面与跳转页面

???? 前端页面index.html

???? 跳转页面success.html

1.3 实现后端代码

1.3.1 注入keptcha配置类

???? 创建配置类KaptchaConfig.java

1.3.2 创建后端控制类生成验证码

???? 创建控制类CommonController类,一方面通过流的方式将随机生成的验证码图片信息发送到前端浏览器;另一方面将验证码中的验证信息写入session中,以方便后续的验证

1.3.3 实现验证码的验证与页面跳转

???? 对前端输入的数据并发送到服务器的验证信息进行校验,当输入信息与验证码信息一致则跳转至success.html页面,否则跳转至false.html页面

二、使用hutool-captcha方式实现验证码生成与验证

????Hutool是一个Java工具包,也只是一个工具包,它帮助我们简化每一行代码,减少每一个方法,让Java语言也可以“甜甜的”。Hutool最初是我项目中“util”包的一个整理,后来慢慢积累并加入更多非业务相关功能,并广泛学习其它开源项目精髓,经过自己整理修改,最终形成丰富的开源工具集

Hutool参考文档

2.1 pom文件中导入hutool-captcha依赖

???? 新建springboot项目,并在其pom.xml中导入hutool-captcha依赖:

2.2 创建前端页面与跳转页面

???? 前端页面index.html

???? 跳转页面success.html

2.3 实现后端代码

2.3.1 创建后端控制类生成验证码

???? 创建控制类CommonController类,一方面通过流的方式将随机生成的验证码图片信息发送到前端浏览器;另一方面将验证码中的验证信息写入session中,以方便后续的验证

2.3.2 实现验证码的验证与页面跳转

???? 对前端输入的数据并发送到服务器的验证信息进行校验,当输入信息与验证码信息一致则跳转至success.html页面,否则跳转至false.html页面

到此这篇关于springboot验证码的生成与验证的两种方法的文章就介绍到这了,更多相关springboot验证码生成验证 内容请搜索七叶笔记以前的文章或继续浏览下面的相关文章希望大家以后多多支持七叶笔记!

相关文章