使用redis实现手机短信验证码和lua完成重置功能

本文详细介绍了如何使用Redis来处理2024年各类网站和应用的登录需求,包括获取验证码、匹配验证码、重置验证码等操作,涉及LoginController和reset.lua脚本的代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

2024了,各种各样的门户网站和APP都需要登录,登录方式也各种各样,由于都要绑定用户手机号码,所以大部分都支持了手机验证码登录的方式,接下来我们使用redis来完成验证码的功能。


一、介绍

方法名 描述
get 获取验证码
match 验证码配对
reset 验证码重置
check 手机号检测
sendVerificationCode 发送验证码

二、代码

1.LoginController

@Controller
@RequestMapping("verificationCode")
public class LoginController {
   
    @Autowired
    private StringRedisTemplate stringRedisTemplate;
    private int maxRetryCount=3;
    private static final String COUNT="_COUNT";
    private static final String CODE="_CODE";
    private static final DefaultRedisScript<Boolean> RESET_SCRIPT;
    static {
   
        RESET_SCRIPT = new DefaultRedisScript<>();
        RESET_SCRIPT.setLocation(new ClassPathResource("redis/reset.lua"));
        RESET_SCRIPT.setResultType(Boolean.class);
    }
    @RequestMapping("get")
    @ResponseBody
    public boolean get(String phone){
   
        Optional.of(phone);
        if(check(phone)){
   
       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值