2020.6.23 短信验证

发布于 16 天前  22 次阅读


1.复习内容

2.灵感代办

3.学习内容

  • 图形验证码分析

    • img
    • 根据文档,编写代码(主要细节)
      • 传递一个uuid 用来表示一个用户
      • 带着uuid请求图片,将uuid和验证码存入redis
  • 短信验证分析

    • img
    • img
    • 根据文档,编写代码(主要细节)
      • 前端要做倒计时操作,防止用户重复点击
      • 后端也需要做一个锁,防止同一个uuid(用户或者手机号)重复发送验证码
        • redis设置一个标记 来记录是否有手机号被发送,如果有,则跳出
      • 将容联云的短信SDK封装成单例模式
      • axios来发送短信验证
      • redis多条命令合并(pipeline使用)

4.扩展延伸知识

  • UUID

    • 定义:
      • uuid是universally unique identifier 的缩写,
      • 可以表示一个用户唯一的标志
    • 原理:
      • 网卡MAC,时间戳,名字空间,随机伪随机数字,时序元素,生成的uuid
    • 特点:
      • 人为不能操作(识别如何生成uuid的对象)
      • 重复性很小
      • UUID是16字节128位长的数字,通常以36字节的字符串表示
        • - 时间戳+UUID版本号,分三段占16个字符(60bit+4bit),
          - Clock Sequence号与保留字段,占4个字符(13bit+3bit),
          - 节点标识占12个字符(48bit),
    • https://www.cnblogs.com/HUIWANG/p/11133765.html
  • RFC规范

    • 所有关于Internet 的正式标准都是以RFC(Request for Comment )文档出版。另外大量的RFC文档都不是正式的标准,出版目的都是为了提供信息。
    • RFC文档的篇幅懂1页到200页不等。每一项都是以数字命名的。如RFC1122。数字越大说明RFC的内容越新。
    • https://www.jianshu.com/p/8afc407cf3b3

5.知识内容个人梳理

  • redis拿出来的数据
    • 是 byte 字节串
  • javascript es6的语法
    • 箭头函数
    • let定义 const定义
    • 对象中的方法,可以直接类似定义函数
      • let a = {
          function a(){
        
          },
        }
        a.a();

6.今天都复习了之前的什么内容


Ares个人进阶之路