🍁 作者:知识浅谈,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 知识浅谈