/**
* 验证验证码是否正确
*
* @param phone
* @param code
*/
public void getRedisCode(String phone, String code) {
Jedis jedis = new Jedis("服务器ip", 6379); //连接redis
if (jedis.get("verifyCode" + phone + ":code").equals(code)) {
System.out.println("验证成功");
}else System.out.println("验证失败");
jedis.close();
}
/**
* 验证码存入redis
*
* @param phone
*/
public void verifyCode(String phone) {
Jedis jedis = new Jedis("服务器ip", 6379); //连接redis
String countKey = "verifyCode" + phone + ":count";
//每个号码一天之内只能发送3次
if (jedis.get(countKey) == null) {
jedis.setex(countKey, 24 * 60 * 60, "1");
} else if (Integer.parseInt(jedis.get(countKey)) < 3) {
jedis.incr(countKey);
} else {
System.out.println("生成验证码超过三次");
jedis.close();
return;
}
String code = getCode();
String codeKey = "verifyCode" + phone + ":code";
//存入code,有效期5分钟
jedis.setex(codeKey, 5 * 60, code);
System.out.println("生成验证码成功");
jedis.close(); //关闭
}
/**
* 生成6位随机数
*
* @return
*/
public String getCode() {
Random random = new Random();
String code = "";
for (int i = 0; i < 6; i++) {
int num = random.nextInt(10);
code += num;
}
return code;
}
笔记:redis--生成数字验证码并验证
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。