Springboot项目中kaptcha验证码的使用

发布时间:2024年01月03日

🍁 作者:知识浅谈,CSDN签约讲师,CSDN博客专家,华为云云享专家,阿里云专家博主
📌 擅长领域:全栈工程师、爬虫、ACM算法
💒 公众号:知识浅谈
🔥网站:vip.zsqt.cc

🤞Springboot项目中验证码的使用🤞

正菜来了🛴🛴🛴

🎈引入依赖

<!--kaptcha-->
<dependency>
   <groupId>com.baomidou</groupId>
   <artifactId>kaptcha-spring-boot-starter</artifactId>
   <version>1.1.0</version>
</dependency>

🎈添加配置

#验证码
kaptcha:
 content:
   #源字符
   source: wjl

🎈验证码生成

package com.example.security.security;

import com.google.code.kaptcha.Producer;
import org.apache.commons.codec.binary.Base64;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.FastByteArrayOutputStream;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.imageio.ImageIO;
import javax.servlet.http.HttpSession;
import java.awt.image.BufferedImage;
import java.io.IOException;

@RestController
public class KaptchaController{
   @Autowired
   private Producer producer;
   @GetMapping("/verify-code.png")
   public String getVerifyCode(HttpSession session) throws IOException{
       //1.生成验证码
       String kaptcha=producer.createText();
       //验证码图片
       BufferedImage bi=producer.createImage(kaptcha);
       //2.存入session
       session.setAttribute("kaptcha",kaptcha);
       //3.把验证码图片转换成base64然后返回,前端拿到后解码然后渲染即可成图片.
       FastByteArrayOutputStream fos=new FastByteArrayOutputStream();
       ImageIO.write(bi,"png",fos);
       return Base64.encodeBase64String(fos.toByteArray());
   }
}

🍚总结

大功告成,撒花致谢🎆🎇🌟,关注我不迷路,带你起飞带你富。
Writted By 知识浅谈

文章来源:https://blog.csdn.net/qq_37699336/article/details/135330856
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。