Google|Google Kaptcha验证码生成的使用实例说明
目录
- Kaptcha是什么?
- 怎么使用Kaptcha?
- 1.首先下载jar包
- 2.配置kaptcha
- 3.将验证码保存进session中
- 4.验证码校验
- Kaptcha验证码配置
- 效果图如下
Kaptcha是什么? kaptcha 是谷歌开源的非常实用的验证码生成工具,基于SimpleCaptcha的开源项目。使用Kaptcha 生成验证码十分简单并且参数可以进行自定义。只需添加jar包配置下就可以使用,通过配置,可以自己定义验证码大小、颜色、显示的字符等等。下面就来讲一下如何使用kaptcha生成验证码以及在服务器端取出验证码进行校验。
怎么使用Kaptcha?
1.首先下载jar包
要项目使用Kaptcha肯定要依赖kaptcha的jar,maven项目的话直接加入如下依赖,非maven项目就自己下载jar包吧
com.github.axet kaptcha0.0.9
官方下载链接:https://code.google.com/archive/p/kaptcha/downloads,当然你得哈
2.配置kaptcha
以项目使用spring为例,配置一个默认的Kaptcha的bean,如下
kaptcha.code【Google|Google Kaptcha验证码生成的使用实例说明】noblackcom.google.code.kaptcha.impl.WaterRipplecom.google.code.kaptcha.impl.NoNoise90332545247,247,247247,247,247
3.将验证码保存进session中
将生成的验证码保存进session中,并输出由验证码生成的图片流到页面
@Autowired private Producer captchaProducer; @RequestMapping(value = "https://www.it610.com/kaptchaImage", method = RequestMethod.GET)public void kaptcha(HttpServletRequest req, HttpServletResponse rsp) {ServletOutputStream out = null; try {HttpSession session = req.getSession(); rsp.setDateHeader("Expires", 0); rsp.setHeader("Cache-Control", "no-store, no-cache, must-revalidate"); rsp.addHeader("Cache-Control", "post-check=0, pre-check=0"); rsp.setHeader("Pragma", "no-cache"); rsp.setContentType("image/jpeg"); String capText = captchaProducer.createText(); session.setAttribute(Constants.KAPTCHA_SESSION_KEY, capText); BufferedImage image = captchaProducer.createImage(capText); out = rsp.getOutputStream(); ImageIO.write(image, "jpg", out); out.flush(); }catch(IOException e){throw new SystemException(e); } finally {try {out.close(); } catch (IOException e) {throw new SystemException(e); }}}
4.验证码校验
校验用户输入的验证码和保存进session的是否一直,达到验证目的
@RequestMapping(value = "https://www.it610.com/login", method = RequestMethod.POST, produces = "text/html; charset=utf-8") public String userLogin(String accountName, String password, String captcha, Boolean rememberMe, HttpServletRequest request) {//从session中取出kaptcha生成的验证码text值String expected = (String) request.getSession().getAttribute(Constants.KAPTCHA_SESSION_KEY); //获取用户页面输入的验证码if(!captcha.equalsIgnoreCase(expected)){request.setAttribute("error", "验证码错误!"); return "/login"; }else{xxxx验证码后的后续逻辑}}
Kaptcha验证码配置
kaptcha.border是否有边框默认为true我们可以自己设置yes,no
kaptcha.border.color边框颜色默认为Color.BLACK
kaptcha.border.thickness边框粗细度默认为1
kaptcha.producer.impl验证码生成器默认为DefaultKaptcha
kaptcha.textproducer.impl验证码文本生成器默认为DefaultTextCreator
kaptcha.textproducer.char.string验证码文本字符内容范围默认为abcde2345678gfynmnpwx
kaptcha.textproducer.char.length验证码文本字符长度默认为5
kaptcha.textproducer.font.names验证码文本字体样式默认为new Font("Arial", 1, fontSize), new Font("Courier", 1, fontSize)
kaptcha.textproducer.font.size验证码文本字符大小默认为40
kaptcha.textproducer.font.color验证码文本字符颜色默认为Color.BLACK
kaptcha.textproducer.char.space验证码文本字符间距默认为2
kaptcha.noise.impl验证码噪点生成对象默认为DefaultNoise
kaptcha.noise.color验证码噪点颜色默认为Color.BLACK
kaptcha.obscurificator.impl验证码样式引擎默认为WaterRipple
kaptcha.word.impl验证码文本字符渲染默认为DefaultWordRenderer
kaptcha.background.impl验证码背景生成器默认为DefaultBackground
kaptcha.background.clear.from验证码背景颜色渐进 默认为Color.LIGHT_GRAY
kaptcha.background.clear.to验证码背景颜色渐进默认为Color.WHITE
kaptcha.image.width验证码图片宽度默认为200
kaptcha.image.height验证码图片高度默认为50
效果图如下
![Google|Google Kaptcha验证码生成的使用实例说明](https://img.it610.com/image/info11/5f82ae757c9c45208d5624f2f4a38b83.jpg)
文章图片
以上就是Google Kaptcha验证码的使用实例说明的详细内容,更多关于Google Kaptcha验证码使用的资料请关注脚本之家其它相关文章!
推荐阅读
- 老龄化社会,“免验”的验证码更重要
- 戏说领域驱动设计(十八)——内验
- angular异步验证器防抖
- 《验证码“适老化”白皮书》 助力数字金融适老化
- 在Windows11使用WSA运行Google|在Windows11使用WSA运行Google play会遇到的问题
- diss验证码系列|《Diss验证码》——Python验证码破解(图像字符验证码识别(1-入门))
- vue实现四级导航及验证码的方法实例
- 历史上的今天|【历史上的今天】1 月 8 日(谷歌推出 Google Pay;Quibi 的重生;平衡二叉树的发明者出生)
- Fashion-MNIST|Fashion-MNIST 一周年 | Google NIPS最爱,还登上了Science
- 自然语言处理|自然语言处理(中文分句)——————中文逆向最大匹配,文章中含有验证源码