网站首页 > 精选教程 正文
依赖导入
<!-- 添加图形验证码依赖 -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-captcha</artifactId>
<version>5.8.5</version>
</dependency>
————————————————
/**
* 生成验证码图片
* @return
*/
@ApiOperation("获取图形验证码")
@GetMapping("/identifyImage")
public Result<String> identifyImage(HttpServletResponse response,
@ApiParam(value = "图形验证码id,无值:生成验证码,有值:刷新验证码")
@RequestParam(name = "codeId", required = false) String codeId) throws IOException {
// 创建验证码,设置宽、高、长度、干扰线数量
LineCaptcha lineCaptcha = CaptchaUtil.createLineCaptcha(200, 90, 4, 100);
// 获取验证码字符串,赋值code
String code = lineCaptcha.getCode();
if (codeId == null) {
// IdWorker.getId():IdWorker工具类生成唯一ID,并转换成String类型
codeId = String.valueOf(IdWorker.getId());
// 将codeId、code.toUpperCase()、过期时间60秒:存储入Redis中
// code.toUpperCase():code装换成大写形式存储
redisOps.set(codeId,code.toUpperCase(),60);
} else {
redisOps.set(codeId,code.toUpperCase(),60);
}
// 将图片验证码codeId设置请求头中
response.setHeader("codeId", codeId);
// 获取向客户端发送响应数据的输出流
try (ServletOutputStream outputStream = response.getOutputStream()) {
// 验证码图片数据写入到输出流
lineCaptcha.write(outputStream);
} catch (Exception e) {
throw new AuthException("图形验证码输出错误");
}
return Result.succ(codeId);
}
————————————————
猜你喜欢
- 2024-11-11 RuoYi若依系统的验证码如何替换为更美观的EasyCaptcha
- 2024-11-11 「Java」伪共享验证 什么是伪共享?伪共享会导致运算结果错误吗?
- 2024-11-11 Azure上的Java:云原生身份验证 azure java
- 2024-11-11 Java之HTTP请求权限验证 java之http请求权限验证怎么办
- 2024-11-11 java短信验证平台_JAVA实现利用第三方平台发送短信验证码
- 2024-11-11 OAuth2+JWT 实现权限验证 oauth2权限控制
- 2024-11-11 Java 的业务逻辑验证框架 之-fluent-validator
- 2024-11-11 java 生成4位短信验证码方法 java+生成4位短信验证码方法有哪些
- 2024-11-11 Java策略模式实现动态验证不同来源的数据
- 2024-11-11 Java安全编程:公钥加密和私钥签名的实践指南
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)