package org.javaboy;
import redis.clients.jedis.Jedis;
import java.util.Random;
/**
* @author: wanghongkun@HardWorking
* @date: 2022/9/10 17:35
* @email: 2028911483@qq.com
*/
public class PhoneCode {
public static void main(String[] args) {
verify("123456","111111");
}
public static String getCode(){
Random random = new Random();
String str ="";
int k=6;
while(k-->0) {
str += random.nextInt(10);
}
return str;
}
public static void verify(String phone ,String enCode){
Jedis jedis = new Jedis("192.168.189.128",6379);
String phoneKey = "phoneKey" +phone+":";
String numberKey = "numberKey"+ phone+":";
//发送验证码的次数
String str = jedis.get(numberKey);
//缓存之中如果没有相关的数据
if(str == null) {
jedis.setex(numberKey,60*60*24,"1");
}
else{
int count =Integer.parseInt(jedis.get(numberKey));
if(count >=3){
System.out.println("今天发送验证码的次数达上限");
return;
}else {
jedis.incr(numberKey);
}
}
String code = getCode();
jedis.setex(phoneKey,60*2,code);
//验证码已经发送,验证
String s = jedis.get(phoneKey);
if(s.equals(enCode)) System.out.println("登陆成功");
else System.out.println("验证码错误请重试");
}
}
06-07
2143
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交