首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

太赞了!Google推出的抵御密码泄露的“杀手锏”已开源,该如何接入呢?

最近,鸭哥在不少交易所的安全中心,发现了一个Google身份验证器,而且需要安装一个“GoogleAuthenticator”的应用,才能正常使用,再比如咱们登录堡垒机,Github,也可以用它来验证,具体见下图:

我们如果安装好应用GoogleAuthenticator,便会每隔一段时间便会生成一个新的验证码,用于登录校验,给我的感觉,跟短信验证码类似~

# GoogleAuthenticator是什么鬼?

Google身份验证器是一款TOTP与HOTP的两步验证软件令牌,此软件用于Google的认证服务。给予用户一个六位到八位的一次性密码用于进行登录Google或其他站点时的附加验证。

维基百科

说得直白点,就是一个二次验证服务,用户需要下载该软件令牌,这样做的好处就不言而喻了,就算别人获取到你的账号密码,也进入不了你的账户。

这个鸭哥当年是身有体会的,当年搞了一批邮箱的账密,想突破二次验证,获取重要邮件,搞了一个月,都突破不了~

还是太菜了~

该项目是开源的,安卓和iOS都支持,可以在Github上面查看源码。

官网:https://github.com/google/google-authenticator

# 工作原理

它是采用的TOTP 算法(Time-based One-time Password,即基于时间的一次性密码),主要包括这3个核心部分。

1、密钥:客户端和服务器事先协商好一个密钥K,用于一次性密码的生成过程,此密钥不被任何第三方所知道。

2、验证时间:Google选择了30秒作为时间片,T的数值为从Unix epoch(1970年1月1日 00:00:00)来经历的30秒的个数。所以,你便会发现验证码30秒便会刷新一次。

3、算法:客户端对密钥和计数器的组合(K,C)使用HMAC(Hash-based Message Authentication Code)算法计算一次性密码,公式:HOTP(K,C) = Truncate(HMAC-SHA-1(K,C))。

# 如何接入?

下面的接入代码部分参考网友分享,经过鸭哥亲自测试,可以使用。

核心代码实例代码:

测试代码:

说明:将会生成一个二维码地址,打开便是一张二维码图片,进行GoogleAuthenticator配置;可替换code值进行测试~

如果有所收获,欢迎点赞转发,要是有疑问,欢迎留言讨论~

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201014A05HD900?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券