✨ 使用jedis模拟手机验证码发送
📃个人主页:不断前进的皮卡丘
🌞博客描述:梦想也许遥不可及,但重要的是追梦的过程,用博客记录自己的成长,记录自己一步一步向上攀登的印记
🔥个人专栏:微服务专栏
需求分析
代码实现
生成随机验证码
/**
* 生成六位数字验证码
*/publicstaticStringgetCode(){Random random =newRandom();String code="";for(int i =0; i <6; i++){int randNumber=random.nextInt(10);
code+=randNumber;}return code;}
限制手机发送验证码次数,把验证码存储在redis,并且设置有效时间
/**
* 每一个手机每天只能发送3次验证码,并且我们要把验证码存储到redis中,并且要设置过期时间
*/publicstaticvoidverifyCode(String phone){//连接redisJedis jedis =newJedis("10.100.173.128",6379);//操作redis//手机发送次数keyString countKey="VerifyCode"+phone+":count";//验证码keyString codeKey="VerifyCode"+phone+":code";//每一个手机,一天最多发送三次验证码String count = jedis.get(countKey);if(count==null){//说明是第一次发送//设置发送次数为1
jedis.setex(countKey,24*60*60,"1");}elseif(Integer.parseInt(count)<=2){//发送次数+1
jedis.incr(countKey);}else{System.out.println("今天发送次数已经到达三次了,不可以再发送了");//释放连接
jedis.close();return;}//把验证码存储在redis中String vCode =getCode();
jedis.setex(codeKey,120,vCode);
jedis.close();}
验证码的校验
/**
* 验证码的校验
*/publicstaticvoidgetRedisCode(String phone,String code){Jedis jedis =newJedis("10.100.173.128",6379);//从redis中获取验证码,然后和用户输入的验证码进行比较//验证码keyString codeKey="VerifyCode"+phone+":code";String redisCode = jedis.get(codeKey);//判断if(redisCode.equals(code)){System.out.println("验证成功");}else{System.out.println("验证失败");}
jedis.close();}
测试
本文转载自: https://blog.csdn.net/qq_52797170/article/details/126796372
版权归原作者 不断前进的皮卡丘 所有, 如有侵权,请联系我们删除。
版权归原作者 不断前进的皮卡丘 所有, 如有侵权,请联系我们删除。