mica 中验证码扩展 mica-captcha 验证码组件

简介: 验证码效果 保证了验证码的安全性的同时尽量做到了美观,欢迎试用,更多使用方式可以查看 mica 示例项目。 依赖坐标 Maven net.dreamlu mica-captcha Gradle implementation "net.

验证码效果

保证了验证码的安全性的同时尽量做到了美观,欢迎试用,更多使用方式可以查看 mica 示例项目

依赖坐标

Maven

<dependency>
    <groupId>net.dreamlu</groupId>
    <artifactId>mica-captcha</artifactId>
</dependency>

Gradle

implementation "net.dreamlu:mica-captcha"

配置项

配置项 默认值 说明
mica.captcha.cache-name micaCaptchaCache 验证码cache名,默认:micaCaptchaCache
mica.captcha.cookie-name mica-captcha 验证码cookie名,默认:mica-captcha
mica.captcha.enabled true 是否开启验证码,默认:true.

注意:结合 mica-pro 的 mica-cache-redis 组件实现 cache name 使用 # 号自动配置超时时间。

使用

首先需要配置 Spring cache,如 ehcache、redis等,然后给 micaCaptchaCache 配置一个超时时间。

Servlet

  • 生成验证码
@Autowired
private MicaCaptchaServlet micaCaptcha;
/**
 * 图形验证码
 */
@GetMapping(value = "/captcha.jpg", produces = MediaType.IMAGE_JPEG_VALUE)
@ResponseBody
public ResponseEntity<Resource> captcha(HttpServletResponse response) {
    return micaCaptcha.generate(response);
}
  • 校验验证码
boolean validated = micaCaptcha.validate(response, userInputCaptcha);

WebFlux

  • 生成验证码
@Autowired
private MicaCaptchaReactive micaCaptcha;
/**
 * 图形验证码
 */
@GetMapping(value = "/captcha.jpg", produces = MediaType.IMAGE_JPEG_VALUE)
@ResponseBody
public Mono<ResponseEntity<Resource>> captcha(ServerWebExchange exchange) {
    return Mono.just(micaCaptcha.generate(exchange));
}
  • 校验验证码
boolean validated = micaCaptcha.validate(exchange, userInputCaptcha);

生成其他类型验证码

  • micaCaptcha.generateBase64 生成 base64 图片验证码(主要为 App 或者前后端分离设计)。
  • micaCaptcha.validateBase64 校验 base64 图片验证码。

开源推荐

目录
相关文章
|
2月前
|
前端开发 PHP
ThinkPHP 验证码扩展库的使用,以及多应用模式下,如何自定义验证码校验规则
本文介绍了在ThinkPHP框架中使用验证码扩展库的方法,包括安装验证码扩展库、在页面中使用验证码、自定义验证码配置以及校验验证码的步骤和代码示例。
ThinkPHP 验证码扩展库的使用,以及多应用模式下,如何自定义验证码校验规则
jcaptcha 验证码自定义扩展应用
本文章摘编、转载需要注明来源 http://write.blog.csdn.net/postedit/8575471 对于验证码的各个插件大家都应该熟悉不少了,但是我比较喜欢用jcapt...
903 0
|
6月前
|
前端开发 安全 Java
SpringBoot 实现登录验证码(附集成SpringSecurity)
SpringBoot 实现登录验证码(附集成SpringSecurity)
415 0
|
3月前
|
存储 NoSQL 数据库
认证服务---整合短信验证码,用户注册和登录 ,密码采用MD5加密存储 【二】
这篇文章讲述了在分布式微服务系统中添加用户注册和登录功能的过程,重点介绍了用户注册时通过远程服务调用第三方服务获取短信验证码、使用Redis进行验证码校验、对密码进行MD5加密后存储到数据库,以及用户登录时的远程服务调用和密码匹配校验的实现细节。
认证服务---整合短信验证码,用户注册和登录 ,密码采用MD5加密存储 【二】
|
1月前
|
Java
Java 登录输入的验证码
Java 登录输入的验证码
28 1
|
1月前
|
C#
C# 图形验证码实现登录校验代码
C# 图形验证码实现登录校验代码
78 2
|
2月前
|
存储 JSON 前端开发
node使用token来实现前端验证码和登录功能详细流程[供参考]=‘很值得‘
本文介绍了在Node.js中使用token实现前端验证码和登录功能的详细流程,包括生成验证码、账号密码验证以及token验证和过期处理。
51 0
node使用token来实现前端验证码和登录功能详细流程[供参考]=‘很值得‘
|
3月前
|
资源调度 JavaScript API
nest.js + sms 实现短信验证码登录
本文介绍了在Nest.js框架中集成短信验证码登录的实现方案,详细阐述了使用阿里云短信服务的配置流程、资质申请、短信模板设置,并提供了API调用示例和工程代码的运行步骤。
nest.js + sms 实现短信验证码登录
|
3月前
【Azure 环境】中国区Azure B2C 是否支持手机验证码登录呢?
【Azure 环境】中国区Azure B2C 是否支持手机验证码登录呢?
|
6月前
|
缓存 算法 NoSQL
短信验证码登录接口,如何防止恶意攻击
该文讨论了移动应用中常见的手机短信验证码登录(短验登录)的安全设计。后端通常需要提供获取短信验证码和手机短验登录两个API。为了增强机短验登录API的安全性,提出了几种无需依赖Redis等存储介质的方案:1)使用数字签名确保请求合法性;2)基于时间戳的验证,允许在一定时间范围内有效;3)应用TOTP算法生成动态码进行验证;4)利用JWTToken进行身份验证并设置有效期。文章强调了创新思考在解决安全问题中的重要性,并鼓励读者分享更多方案。
577 1