* @param client
* @return
*/
public static String getVerificationCode(String phone, Jedis client){
Random random = new Random();
StringBuffer stringBuffer = new StringBuffer();
// 有更好的方法生成六位随机数
for (int j = 0; j < 6; j++) {
stringBuffer.Append(random.nextInt(10));
}
// 调用短信API发送 并做对应的业务判断
// 发送短信成功 将数据放入redis 并设置过期时间为五分钟
String setex = client.setex(phone, 300, stringBuffer.toString());
return stringBuffer.toString();
}
public static Boolean verification(String phone, String code, Jedis client){
String storeCode = client.get(phone);
if (code!=null&&code.equals(storeCode)){
return Boolean.TRUE;
}
return Boolean.FALSE;
}
@Test
public void verificationTest(){
try(Jedis jedisClient = JedisUtils.getJedisClient()) {
if (verification("12345678","465481",jedisClient)){
System.out.println("校验成功");
}else {
System.out.println("校验失败");
}
}
}
推荐阅读
- Java LeetCode算法编程及面试教程
- this对象的理解及JavaScript中执行上下文和执行栈是什么?
- 路由器摆在哪信号好、冲浪稳?
- Shell 脚本中经典的13个面试题
- 如何在Linux下大量屏蔽恶意IP地址
- 「Java面试」线程状态,BLOCKED和WAITING有什么区别
- python 一键生成对账单
- 原生javascript解锁恶心的CSDN强制关注才能阅读让文章自动展开
- 来自远程技术提供者的建议,如何阻止他人远程访问你的移动设备?
- 古代契丹人是现在哪个省,古代契丹现在是什么地方-
