完成一个手机验证码功能
要求:
1、输入手机号,点击发送后随机生成6位数字码,2分钟有效。
2、输入验证码,点击验证,返回成功或失败。
3、每个手机号每天只能输入3次。
思路:
- 1. 随机生成6位数字码:使用Random类的nextInt()方法;
- 2. 2分钟有效:可以放入Redis中,设置其过期时间,单位为秒;
- 3. 每个手机号每天只能输入3次,通过redis的incr()方法,超过2就显示错误。
三个步骤:
第一:
生成一个6位数字的验证码,代码部分如下
测试:
第二:
每个手机每天只能发送三次,验证码放到redis中,设置过期时间120s。
代码部分如下:
countKey是手机号码所请求验证码的次数。
codeKey是生成的随机码
第三:
验证码校验。
代码部分:
整体测试:
在main方法中测试一下验证码发送,点击运行。
在Xshell中我们可以通过keys *查看现在所生成的全部键和生成的随机码:
在main方法中测试一下验证码校验:
测试同一个号码多次请求验证码:
测试请求验证码超过三次时:
以上所有要求也就实现啦~ 达到预期效果!