阅读本篇文章你可以了解到谷歌验证器的实现原理,并且可以自己使用node.js实现支持谷歌验证器的两步验证。

这两年发现身边的很多应用和网站纷纷支持两步验证,并且呼吁用户使用两步验证。

并且发现,除了Apple ID的两步验证之外,其它两步验证很多能看到谷歌验证器(Google Authenticator)的身影。

这让我产生了浓厚的兴趣,到底谷歌验证器的原理是什么,我自己能实现一个类似的验证器吗?

什么是两步验证

两步验证就是当用户输入账号密码并验证成功之后,需要额外输入一串一次性随机密码(一般是4-6位的数字),服务器以此确认登录者是用户本人。

两步验证的类型

  1. 短信验证
    短信验证也是我们最熟悉最常用的两步验证,但是我认为短信验证有有以下几个缺点:需支付运营商短信费用、短信到达延迟、短信压根就没到达而网站不允许你立刻再次重发。相信你也有过等一条短信让你抓狂的经历。
  2. 动态密码器
    玩过网易游戏的同学应该知道网易将军令,还有部分银行提供的动态密码器。我记得我以前第一次见到这个东西的时候就觉得很神奇,这东西不用联网居然就能验证用户。实际上它的实现原理和Google验证器的实现原理差不多,后面我们会详细讲到。
  3. 口令卡
    口令卡是我认为最反人类的设计。曾经办工商银行网上银行的时候就有过一张,它上面是以矩阵的形式排列若干个字符,系统会给你一些坐标,要求你根据坐标找出相应的字符输入到系统。

    谷歌验证器的原理及JS实现的更多相关文章

    1. PHP设置谷歌验证器(Google Authenticator)实现操作二步验证

      使用说明:开启Google的登陆二步验证(即Google Authenticator服务)后用户登陆时需要输入额外由手机客户端生成的一次性密码.实现Google Authenticator功能需要服务 ...

    2. Teambition如何使用二次验证码/虚拟MFA/两步验证/谷歌验证器?

      一般点账户名——设置——安全设置中开通虚拟MFA两步验证 具体步骤见链接  Teambition如何使用二次验证码/虚拟MFA/两步验证/谷歌验证器? 二次验证码小程序于谷歌身份验证器APP的优势 1 ...

    3. 数字货币交易所(火币为例)如何使用二次验证码/虚拟MFA/两步验证/谷歌验证器?

      一般点账户名——设置——安全设置中开通虚拟MFA两步验证 具体步骤见链接  数字货币交易所(火币为例)如何使用二次验证码/虚拟MFA/两步验证/谷歌验证器? 二次验证码小程序于谷歌身份验证器APP的优 ...

    4. 亚马逊如何使用二次验证码/虚拟MFA/两步验证/谷歌验证器?

      一般点账户名——设置——安全设置中开通虚拟MFA两步验证 具体步骤见链接  亚马逊如何使用二次验证码/虚拟MFA/两步验证/谷歌验证器? 二次验证码小程序于谷歌身份验证器APP的优势 1.无需下载ap ...

    5. 火狐浏览器如何使用二次验证码/虚拟MFA/两步验证/谷歌验证器?

      一般点账户名——设置——安全设置中开通虚拟MFA两步验证 具体步骤见链接  火狐浏览器如何使用二次验证码/虚拟MFA/两步验证/谷歌验证器? 二次验证码小程序于谷歌身份验证器APP的优势 1.无需下载 ...

    6. 印象笔记如何使用二次验证码/虚拟MFA/两步验证/谷歌验证器?

      一般点账户名——设置——安全设置中开通虚拟MFA两步验证 具体步骤见链接  印象笔记如何使用二次验证码/虚拟MFA/两步验证/谷歌验证器? 二次验证码小程序于谷歌身份验证器APP的优势 1.无需下载a ...

    7. 华为云如何使用二次验证码/虚拟MFA/两步验证/谷歌验证器?

      一般点账户名——设置——安全设置中开通虚拟MFA两步验证 具体步骤见链接  华为云如何使用二次验证码/虚拟MFA/两步验证/谷歌验证器? 二次验证码小程序于谷歌身份验证器APP的优势 1.无需下载ap ...

    8. 阿里云如何使用二次验证码/虚拟MFA/两步验证/谷歌验证器?

      阿里云如何使用二次验证码/虚拟MFA/两步验证/谷歌验证器? 见如上链接中视频

    9. vue-validator(vue验证器)

      官方文档:http://vuejs.github.io/vue-validator/zh-cn/index.html github项目地址:https://github.com/vuejs/vue-v ...

    随机推荐

    1. 关于强制IE不使用兼容模式渲染网页

      现在IE11是唯一受微软支持的IE浏览器. IE11有兼容模式,开启后有网页会出错. 在html header标签下加上 <meta http-equiv="X-UA-Compatib ...

    2. 【机器学习基础】交叉熵(cross entropy)损失函数是凸函数吗?

      之所以会有这个问题,是因为在学习 logistic regression 时,<统计机器学习>一书说它的负对数似然函数是凸函数,而 logistic regression 的负对数似然函数 ...

    3. tensorflow基础-数据类型

      一:tensorflow中的计算定义和执行 首先,对于tensorflow来说,最重要的概念就是图(Graph)和会话(Session),tensorflow的计算思想是:以图的形式来表示模型,表示和 ...

    4. flash的几种模式Normal Mode、DUAL Mode、Quad Mode的概念和区别

      概念 1. 标准SPI 标准SPI通常就称SPI,它是一种串行外设接口规范,有4根引脚信号:clk , cs, mosi, miso 2. Dual SPI 它只是针对SPI Flash而言,不是针对 ...

    5. SpringBoot源码学习系列之Locale自动配置

      目录 1.spring.messages.cache-duration 2.LocaleResolver 的方法名必须为localeResolver 3.默认LocaleResolver 4.指定默认 ...

    6. vuex动态引入store modules

      主要解决的问题每次建一个module需要自己去主index.js里面去注册 为了偷懒,也为了避免团队开发时同时对index.js 进行修改引发冲突 所以在index.js中 动态的对子目录和模块进行注 ...

    7. 计算机组成原理——DMA存取方式

      DMA(Direct Memory Access)直接存储器存取 高速大容量存储器和主存之间交换时,若采用程序直接传送或程序中断传送的方式,则会有如下问题发生.    1)采用程序直接传送,主机工作效 ...

    8. [转]Paste from Excel into C# app, retaining full precision

      本文转自:https://stackoverflow.com/questions/8614910/paste-from-excel-into-c-sharp-app-retaining-full-pr ...

    9. 【转载】Android N 完全不同以往的四个新特性

      Google最近发布了Android的下一个版本,Android N的开发者预览版.此次预览版,可以让我们开发者在正式发布之前就测试代码,包括一些新的API,甚至于也可以提前反馈那些对于我们来说有些困 ...

    10. java中的IO流操作总结

      概要: