完成一个手机验证码功能

要求:

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

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

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

思路:

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

三个步骤:

第一:

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

测试:

第二:

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

代码部分如下:

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

codeKey是生成的随机码

第三:

验证码校验。

代码部分:

整体测试:

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

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

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

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

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

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

实现手机验证码功能(Redis)相关推荐

  1. Redis实现手机验证码功能

    完成一个手机验证码功能 要求: 1.输入手机号,点击发送后随机生成6位数字码,2分钟有效 2.输入验证码,点击验证,返回成功或失败 3.每个手机号每天只能输入3次 流程分析 代码实现 public c ...

  2. Redis:09-Redis_Jedis实现手机验证码功能

    手机验证码功能 要求: 1.输入手机号,点击发送后随机生成6位数字码,2分钟有效 2.输入验证码,点击验证,返回成功或失败 3.每个手机号每天只能输入3次 1.生成6位数字验证码 public sta ...

  3. springboot+vue实现手机验证码功能

    springboot+vue实现手机验证码功能 榛子云短信平台用户中心注册登录(有免费的一条消息,剩下的需要买)(阿里云个人得备案) 在springboot中加入依赖,用到了redis,阿里的fast ...

  4. thinkphp实现发送手机验证码功能!

    php实现发送手机验证码功能如下: //发送手机验证码public function sendPhoneCodeMessage(){ vendor('SendPhoneCode.SendCode',' ...

  5. 项目实践——零基础实现手机验证码功能

    文章目录 1.阿里云短信服务 1.1.开通阿里云短信服务 1.2.添加签名管理与模板管理 1.3.编写发送短信接口 新建短信微服务 1.4.免费试用产品 2.腾讯云短信服务 2.1.注册微信公众号 2 ...

  6. 基于登录注册用ajax实现手机验证码功能

    文章目录 基于登录发送验证码 输入验证码后完成登录逻辑 用户登录条件 基于注册发送验证码 输入验证码后完成注册逻辑 用户注册条件 这几天做的项目接触到了用手机验证码完成一些功能,例如登录.注册.以及修 ...

  7. java实现发送手机验证码功能

    1. 进入秒嘀科技(http://www.miaodiyun.com/),注册一个账号 2. 注册好之后,点击 用户中心 -> 账户管理,就会进入如下界面 (顺便提一下,新注册的用户,平台会免费 ...

  8. uniapp手机验证码功能实现

    使用uniapp编写实现手机验证码的js实现代码 onSMSSend() {let smsParams = {};smsParams.mobile=this.phoneNo;smsParams.sms ...

  9. 基于SpringBoot+腾讯云短信服务实现接收手机验证码功能

    在腾讯云中配置需要的服务 申请签名和短信模板 创建应用 在项目application.yml中配置相关参数 在项目中安装腾讯云短信服务的依赖包 <!--腾讯云--><dependen ...

最新文章

  1. 用UML做好系统分析
  2. 用于初始化Xilinx 存储 IP核的COE文件格式
  3. nginx: [emerg] getpwnam(nginx) failed in /usr/local/nginx/conf/nginx.conf:2
  4. keras从入门到放弃(十五)图片数据增强
  5. Cloud for Customer里的Shell menu manager
  6. python各种语言间时间的转化
  7. 双十一高并发场景背后的数据库RDS技术揭秘
  8. Vue第一部分(2): 数据的渲染
  9. OSI七层模型都是什么?
  10. SQL Server 2005中NTEXT与NVARCHAR(MAX)
  11. 【GRE协议】CentOS配置GRE隧道
  12. HTML的iframe标签的滚动条
  13. 使用iToolab UnlockGo for Mac如何绕过屏幕时间密码
  14. Win11怎么卸载软件?Win11彻底卸载软件教程
  15. Linq中Skip和Take用法(TakeWhile和SkipWhile用法)
  16. 【2019-2020春学期】数据库 教学 期末总结
  17. mongodb被锁定 --repair
  18. c++,数组与指针的差别
  19. 给深度学习模型构建数据迭代器
  20. 雪山温泉海螺沟(二):去海螺沟

热门文章

  1. jQuery Treegrid自定义表头(全网独家)附带源码
  2. 江苏省广电互动电视数据灾备软件采购GoldenGate
  3. [JAVAEE] IJ初始配置+第一个程序
  4. 从无名之辈到技术大神,他们是怎么做到的?
  5. lastpass 右边_使用LastPass保留那些难以记住的卡号并确保其安全
  6. 华为云EI,让人工智能无所不及
  7. NPOI组件下载、引用、基本使用
  8. 区块链开发者观点:来自慢雾科技的 Keywolf
  9. 启动uniapp提示operation not permitted
  10. 如何成为一名合格的前端工程师