一、引入依赖

compile group: 'com.github.penggle', name: 'kaptcha', version: '2.3.2'

二、写controller,返回图片

import com.google.code.kaptcha.Constants;
import com.google.code.kaptcha.Producer;
import com.google.code.kaptcha.impl.DefaultKaptcha;
import com.google.code.kaptcha.util.Config;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;import javax.imageio.ImageIO;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.Properties;/*** 验证码**/
@Controller
@RequestMapping("/api/code")
public class VerificationCodeController {@Autowiredprivate Producer captchaProducer;@Bean(name = "captchaProducer")public DefaultKaptcha getKaptchaBean() {DefaultKaptcha defaultKaptcha = new DefaultKaptcha();Properties properties = new Properties();properties.setProperty("kaptcha.border", "yes");properties.setProperty("kaptcha.border.color", "105,179,90");properties.setProperty("kaptcha.textproducer.font.color", "blue");properties.setProperty("kaptcha.image.width", "125");properties.setProperty("kaptcha.image.height", "45");properties.setProperty("kaptcha.session.key", "code");properties.setProperty("kaptcha.textproducer.char.length", "4");properties.setProperty("kaptcha.textproducer.font.names", "宋体,楷体,微软雅黑");Config config = new Config(properties);defaultKaptcha.setConfig(config);return defaultKaptcha;}/*** 获取图形验证码*/@RequestMapping("/getCaptcha")public void getCaptcha(HttpServletResponse response, HttpSession session) throws IOException {response.setDateHeader("Expires", 0);// Set standard HTTP/1.1 no-cache headers.response.setHeader("Cache-Control", "no-store, no-cache, must-revalidate");// Set IE extended HTTP/1.1 no-cache headers (use addHeader).response.addHeader("Cache-Control", "post-check=0, pre-check=0");// Set standard HTTP/1.0 no-cache header.response.setHeader("Pragma", "no-cache");// return a jpegresponse.setContentType("image/jpeg");// create the text for the imageString capText = captchaProducer.createText();// store the text in the session//request.getSession().setAttribute(Constants.KAPTCHA_SESSION_KEY, capText);//将验证码存到sessionsession.setAttribute(Constants.KAPTCHA_SESSION_KEY, capText);// create the image with the textBufferedImage bi = captchaProducer.createImage(capText);ServletOutputStream out = response.getOutputStream();// write the data outImageIO.write(bi, "jpg", out);try {out.flush();} finally {out.close();}}}

java使用谷歌验证码google captcha相关推荐

  1. java工具谷歌工具-Google guava工具类的介绍和使用

    工具类 就是封装平常用的方法,不需要你重复造轮子,节省开发人员时间,提高工作效率.谷歌作为大公司,当然会从日常的工作中提取中很多高效率的方法出来.所以就诞生了guava. guava的优点: 高效设计 ...

  2. Java 爬虫-谷歌商店(Google play)--应用的版本号

    代码 HuToolHttp 这个工具类 在爬下载量的文章里 public static String getLastVersion(String packageName, String proxyTy ...

  3. 前后端开发-springboot项目/java搭配vue获取谷歌验证码

    效果如上 1.添加依赖 <!-- 谷歌验证码依赖--><dependency><groupId>com.github.axet</groupId>< ...

  4. 谷歌了java集成开发_Spring整合Kaptcha谷歌验证码工具的开发步骤

    开发步骤: 1.加入依赖 com.google.code.kaptcha kaptcha 2.3 国内镜像无法下载该依赖,需要手动通过jar包在本地仓库安装一个依赖. 安装命令: mvn instal ...

  5. Spring 整合 Google Captcha 验证码

    文章目录 验证码的作用 Google Captcha简介 Google Captcha 详细配置表 Spring MVC 整合 Google Captcha POM 创建 Spring 配置 Cont ...

  6. java二维码生成-谷歌(Google.zxing)开源二维码生成学习及实例

    java二维码生成-谷歌(Google.zxing)开源二维码生成的实例及介绍  这里我们使用比特矩阵(位矩阵)的QR码编码在缓冲图片上画出二维码 实例有以下一个传入参数 OutputStream o ...

  7. 手把手使用Python教你破解谷歌(Google)人机验证码—上篇

    手把手使用Python教你破解谷歌(Google)人机验证码-上篇 众里寻他千百度.蓦然回首,那人却在,灯火阑珊处. /1 前言/ 今天呢,咱们来说一下Google,我们都知道,Google是目前地表 ...

  8. 【Spring Boot组件集成实战】集成Kaptcha谷歌验证码

    更多精彩内容,请访问 Spring Boot组件集成实战专栏 ! 推荐项目:一套基于Spring Boot+Layui的内容管理系统/快速开发脚手架(含完整的开发文档.演示网址等) 文章目录 1. 验 ...

  9. 谷歌验证码kaptcha生成工具类

    谷歌验证码生成工具类 1.引入依赖 2.验证码配置类 3.controller层 4.测试 5.目录结构 1.引入依赖 <!-- google kaptcha依赖 --> <depe ...

  10. 谷歌验证码 ReCAPTCHA 的模拟点击破解方案来了!

    这是「进击的Coder」的第 631 篇技术分享 作者:崔庆才 大家好,我是崔庆才. 之前的时候我分享过 ReCAPTCHA 的破解方案,那种方案是获取到 ReCAPTCHA 其中的一个 SiteKe ...

最新文章

  1. Android Studio Intent使用(显式、隐式)
  2. openSuse 13.1 的触摸板,回来了
  3. Expected more than 1 value per channel when training, got input size torch.Size
  4. MySQL查看与修改编码方式(mysql、数据库、表)
  5. StringBuider 在什么条件下使用效率更高?
  6. redis从入门到实践
  7. 3个月的SHELLCODE研究成果-一个最简单的Shellcode
  8. 新年中国节必备背景素材|传统纹样,这便是中国之美!
  9. Failed to load ApplicationContext
  10. CodeLite+TDM-GCC调试C++程序,断点无效问题
  11. 偶像dd_engi 的学习之路《转》
  12. linux [1045] Access denied for user 'root'@'localhost' (using password: YES)
  13. ECMAScript
  14. 智能优化算法(超全)
  15. Taylor Swift - Enchanted_20131123141153-pdf
  16. AI绘画与虚拟人生成实践(二):智能不智障!用chatgpt自动写爆款内容
  17. oracle设置事务隔离级别为读已提交,oracle的事务隔离级别和读一致性
  18. Android10.0通知Notification的使用这一篇就够了
  19. Linux权限drwxrwxrwx是什么意思?
  20. 中国四大发明是公认的

热门文章

  1. C++——模板(超详细的模板解析)
  2. Deepin字体下载与安装
  3. 为Python IDLE 添加清屏(Ctrl + L )快捷工具(附带解决错误的方法)
  4. java打字小游戏源码_java实现快速打字游戏
  5. 离散数学 左孝凌-教材与习题解析-分享
  6. 完全免费的公众号文章批量下载器
  7. XLSTransformer 导出
  8. ZK 数据传输四:BackingBean获取spring层类再获取数据(jsp页面或zul页面)
  9. Windows命令行netsh winsock reset解决网络连接问题
  10. SWF 学习笔记 ——《如何在内存中提取出加密的SWF》