实现手机验证码功能(Redis)
完成一个手机验证码功能
要求:
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方法中测试一下验证码校验:
测试同一个号码多次请求验证码:
测试请求验证码超过三次时:
以上所有要求也就实现啦~ 达到预期效果!
实现手机验证码功能(Redis)相关推荐
- Redis实现手机验证码功能
完成一个手机验证码功能 要求: 1.输入手机号,点击发送后随机生成6位数字码,2分钟有效 2.输入验证码,点击验证,返回成功或失败 3.每个手机号每天只能输入3次 流程分析 代码实现 public c ...
- Redis:09-Redis_Jedis实现手机验证码功能
手机验证码功能 要求: 1.输入手机号,点击发送后随机生成6位数字码,2分钟有效 2.输入验证码,点击验证,返回成功或失败 3.每个手机号每天只能输入3次 1.生成6位数字验证码 public sta ...
- springboot+vue实现手机验证码功能
springboot+vue实现手机验证码功能 榛子云短信平台用户中心注册登录(有免费的一条消息,剩下的需要买)(阿里云个人得备案) 在springboot中加入依赖,用到了redis,阿里的fast ...
- thinkphp实现发送手机验证码功能!
php实现发送手机验证码功能如下: //发送手机验证码public function sendPhoneCodeMessage(){ vendor('SendPhoneCode.SendCode',' ...
- 项目实践——零基础实现手机验证码功能
文章目录 1.阿里云短信服务 1.1.开通阿里云短信服务 1.2.添加签名管理与模板管理 1.3.编写发送短信接口 新建短信微服务 1.4.免费试用产品 2.腾讯云短信服务 2.1.注册微信公众号 2 ...
- 基于登录注册用ajax实现手机验证码功能
文章目录 基于登录发送验证码 输入验证码后完成登录逻辑 用户登录条件 基于注册发送验证码 输入验证码后完成注册逻辑 用户注册条件 这几天做的项目接触到了用手机验证码完成一些功能,例如登录.注册.以及修 ...
- java实现发送手机验证码功能
1. 进入秒嘀科技(http://www.miaodiyun.com/),注册一个账号 2. 注册好之后,点击 用户中心 -> 账户管理,就会进入如下界面 (顺便提一下,新注册的用户,平台会免费 ...
- uniapp手机验证码功能实现
使用uniapp编写实现手机验证码的js实现代码 onSMSSend() {let smsParams = {};smsParams.mobile=this.phoneNo;smsParams.sms ...
- 基于SpringBoot+腾讯云短信服务实现接收手机验证码功能
在腾讯云中配置需要的服务 申请签名和短信模板 创建应用 在项目application.yml中配置相关参数 在项目中安装腾讯云短信服务的依赖包 <!--腾讯云--><dependen ...
最新文章
- 用UML做好系统分析
- 用于初始化Xilinx 存储 IP核的COE文件格式
- nginx: [emerg] getpwnam(nginx) failed in /usr/local/nginx/conf/nginx.conf:2
- keras从入门到放弃(十五)图片数据增强
- Cloud for Customer里的Shell menu manager
- python各种语言间时间的转化
- 双十一高并发场景背后的数据库RDS技术揭秘
- Vue第一部分(2): 数据的渲染
- OSI七层模型都是什么?
- SQL Server 2005中NTEXT与NVARCHAR(MAX)
- 【GRE协议】CentOS配置GRE隧道
- HTML的iframe标签的滚动条
- 使用iToolab UnlockGo for Mac如何绕过屏幕时间密码
- Win11怎么卸载软件?Win11彻底卸载软件教程
- Linq中Skip和Take用法(TakeWhile和SkipWhile用法)
- 【2019-2020春学期】数据库 教学 期末总结
- mongodb被锁定 --repair
- c++,数组与指针的差别
- 给深度学习模型构建数据迭代器
- 雪山温泉海螺沟(二):去海螺沟