完成一个手机验证码功能

要求:

1、输入手机号,点击发送后随机生成6位数字码,2分钟有效。

2、输入验证码,点击验证,返回成功或失败。

3、每个手机号每天只能输入3次。

思路:

  1. 1. 随机生成6位数字码:使用Random类的nextInt()方法;
  2. 2. 2分钟有效:可以放入Redis中,设置其过期时间,单位为秒;
  3. 3. 每个手机号每天只能输入3次,通过redis的incr()方法,超过2就显示错误。

三个步骤:

第一:

生成一个6位数字的验证码,代码部分如下

redis验证码过期时间 redis实现验证码_redis

测试:

redis验证码过期时间 redis实现验证码_验证码_02

第二:

每个手机每天只能发送三次,验证码放到redis中,设置过期时间120s。

代码部分如下:

countKey是手机号码所请求验证码的次数。

codeKey是生成的随机码

redis验证码过期时间 redis实现验证码_java_03

 

第三:

验证码校验。

代码部分:

redis验证码过期时间 redis实现验证码_main方法_04

整体测试:

在main方法中测试一下验证码发送,点击运行。

redis验证码过期时间 redis实现验证码_main方法_05

在Xshell中我们可以通过keys *查看现在所生成的全部键和生成的随机码:

redis验证码过期时间 redis实现验证码_redis_06

 

在main方法中测试一下验证码校验

redis验证码过期时间 redis实现验证码_验证码_07

redis验证码过期时间 redis实现验证码_main方法_08

测试同一个号码多次请求验证码

redis验证码过期时间 redis实现验证码_redis_09

测试请求验证码超过三次时

redis验证码过期时间 redis实现验证码_java_10

 

以上所有要求也就实现啦~ 达到预期效果!