Google Authenticator是谷歌推出的一款动态口令工具,旨在解决大家Google账户遭到恶意攻击的问题,在手机端生成动态口令后,在Google相关的服务登陆中除了用正常用户名和密码外,需要输入一次动态口令才能验证成功,此举是为了保护用户的信息安全。
谷歌验证(Google Authenticator)通过两个验证步骤,在登录时为用户的谷歌帐号提供一层额外的安全保护。使用谷歌验证可以直接在用户的设备上生成动态密码,无需网络连接。其基本步骤如下:
- 使用google authenticator PAM插件为登录账号生成动态验证码。
- 手机安装Google身份验证器,通过此工具扫描上一步生成的二维码图形,获取动态验证码。
当用户在Google帐号中启用“两步验证”功能后,就可以使用Google Authenticator来防止陌生人通过盗取的密码访问用户的帐户。通过两步验证流程登录时,用户需要同时使用密码和通过手机产生的动态密码来验证用户的身份。也就是说,即使可能的入侵者窃取或猜出了用户的密码,也会因不能使用用户的手机而无法登录帐户。
更多原理可以查看阅读“详解Google Authenticator工作原理”。
第一步,通过 Nuget 下载 Google Authenticator 安装包
第二步,例如我们要实现这样的功能:手机扫描 PC 生成的二维码,绑定用户信息后,后续使用手机生成的验证码输入到 PC 端进行校验。我们通过编程生成一个二维码如下图所示:
第三步:安装 Google Authenticator APP,安卓版下载、IOS下载(注意:安卓版本下载需FQ)。安装成功后,扫描上图的二维码添加如下:
第四步:输入生成的验证码,在 PC 端输入口令后,展示校验通过(注意:口令有效时间为30秒)。
Google Authenticator 在 PC 端生成二维码、手机上生成验证码、 PC 端校验验证码,这些过程无需网络,只需要保证 PC 时间和手机时间正确一致即可。
Google Authenticator 工具类代码如下(引用自 https://www.cnblogs.com/denuk/p/11608510.html):
测试代码如下: