当前位置: 首页 > news >正文

邢台提供网站建设公司电话大型旅游网站

邢台提供网站建设公司电话,大型旅游网站,做网站ps笔记本电脑,关于做好网站建设的通知转载自 两步验证杀手锏#xff1a;Java 接入 Google 身份验证器实战 什么是两步验证#xff1f; 大家应该对两步验证都熟悉吧#xff1f;如苹果有自带的两步验证策略#xff0c;防止用户账号密码被盗而锁定手机进行敲诈#xff0c;这种例子屡见不鲜#xff0c;所以苹…转载自   两步验证杀手锏Java 接入 Google 身份验证器实战 什么是两步验证 大家应该对两步验证都熟悉吧如苹果有自带的两步验证策略防止用户账号密码被盗而锁定手机进行敲诈这种例子屡见不鲜所以苹果都建议大家开启两步验证的。 Google 的身份验证器一般也是用于登录进行两步验证和苹果的两步验证是同样的道理。只不过 Google 的身份验证器用得更多更广泛如 GitHub 的两步验证都是基于 Google 身份验证器。 Google Authenticator 简介 Google Authenticator 身份验证器是一款基于时间与哈希的一次性密码算法的两步验证软件令牌用户需要下载手机 APPAuthenticator该手机 APP 与网站进行绑定当网站验证完用户名和密码之后会验证此 APP 上对应生成的 6 位验证码数字验证通过则成功登录否则登录失败。 Google Authenticator 使用 我们来看下 Github 上的使用 Google 身份验证器开启两步验证的应用。 如图所示默认 Github 是没有开启两步验证的点击设置按钮进行设置。 Github 提供了基于 APP 谷歌身份验证器和短信验证码两种两步验证的方式我们选择第一种谷歌身份验证器。 进入第一种验证模式接下来展示了一堆的恢复码用来当 APP 验证器不能工作的紧急情况使用。把它们保存起来然后点击下一步。 这个就是身份验证器的关键了下载 Google 的 Authenticator APP然后扫描这个二维码进行绑定。 绑定之后APP Github 模块下面会显示一个 6 位的验证码把它输入到上面那个框里面就行了。 如下图所示已经成功开启两步验证了。 接下来我们退出 Github 再重新登录页面就会提示要输入 Google 的身份验证器验证码了如果 APP 不能正常工作最下方还能通过之前保存下来的恢复码进行登录。 好了Google Authenticator 使用就到这里那它是如何工作的它是什么原理呢我们的网站、APP 如何接入 Google Authenticator接下来我们一一拉开谜底。 Google Authenticator 工作流程 实际上 Google Authenticator 采用的是 TOTP 算法Time-Based One-Time Password即基于时间的一次性密码其核心内容包括以下三点。 1、安全密钥 是客户端和服务端约定的安全密钥也是手机端 APP 身份验证器绑定手机端通过扫描或者手输安全密钥进行绑定和验证码的验证都需要的一个唯一的安全密钥该密钥由加密算法生成并最后由 Base32 编码而成。 2、验证时间 Google 选择了 30 秒作为时间片T的数值为 从Unix epoch1970年1月1日 00:00:00来经历的 30 秒的个数所以在 Google Authenticator 中我们可以看见验证码每个 30 秒就会刷新一次。 更详细原理参考 https://blog.seetee.me/post/2011/google-two-step-verification/ 3、签署算法 Google 使用的是 HMAC-SHA1 算法全称是Hash-based message authentication code(哈希运算消息认证码)它是以一个密钥和一个消息为输入生成一个消息摘要作为输出这里以 SHA1 算法作为消息输入。 使用 HMAC 算法是因为只有用户本身知道正确的输入密钥因此会得到唯一的输出其算法可以简单表示为 hmac SHA1(secret SHA1(secret input)) 事实上TOTP 是 HMAC-OTP基于HMAC的一次密码生成的超集区别是 TOTP 是以当前时间作为输入而HMAC-OTP 则是以自增计算器作为输入该计数器使用时需要进行同步。 Google Authenticator 实战 知道上面的原理我们就可以来应用实战了。 /*** 微信公众号Java技术栈*/ public class AuthTest {Testpublic void genSecretTest() {String secret  GoogleAuthenticator.generateSecretKey();String qrcode  GoogleAuthenticator.getQRBarcodeURL(Java技术栈, javastack.cn, secret);System.out.println(二维码地址:  qrcode);System.out.println(密钥:  secret);}Testpublic void verifyTest() {String secret  ZJTAQGLVOZ7ATWH2;long code  956235;GoogleAuthenticator ga  new GoogleAuthenticator();boolean r  ga.verifCode(secret, code);System.out.println(是否正确  r);} }第一个方法是生成密钥和一个扫描二维码绑定的URL。 第二个方法是根据密钥和验证码进行验证。 这里仅提供一下 GoogleAuthenticator 类的源码逻辑参考。 http://awtqty-zhang.iteye.com/blog/1986275
http://www.zqtcl.cn/news/693614/

相关文章:

  • 黄岩做网站的公司网站栏目相关内容在哪采集啊
  • 邯郸市城市建设局网站快速建站平台
  • 华为官方手表网站wordpress文章图片链接
  • 做个网站需要多久腾讯云云服务器官网
  • 松江企业做网站一个阿里云怎么做两个网站
  • 网站制作+app+公众号app制作定制外包88
  • 企业网站建设有哪些好处制作网页之前必须先建立什么
  • 盐亭县建设局网站网站建设基本技术
  • 优化seo网站高质量的邯郸网站建设
  • 网站开发 合同范本软件设计专业介绍
  • 南山网站建设设计莱州网站建设关键字排名优化网络托管微信代运营
  • 传统门户网站有哪些网络营销公司全网推广公司
  • 桥头镇网站建设卢松松外链工具
  • 手机网站导航设计大连市自然资源局
  • 装修网站vr全景图怎么做软件工程师证书报考条件
  • 部门网站建设管理经验交流材料定制开发app
  • 做网站 就google权重查询
  • 网站制作 福宁网络有限公司绚丽的网站
  • wordpress ip 访问重庆seo顾问服务
  • 灰色调网站自动seo系统
  • 河北省网站建设公司排名企业网络信息安全
  • 郑州网站定制建个微商城网站
  • 北京好网站制作公司哪家好vs加数据库做网站
  • 电子商务网站建设与管理第四章答案seo入门培训学校
  • 温州最便宜网站建设有哪些网站可以做推广
  • 郑州网站建设制作公司wordpress播放m3u8
  • wordpress企业站手机客户端wordpress获取主页路径
  • 免费开通的网站外国网站在中国做推广
  • 揭阳公司做网站泰国网站域名
  • 上海网站制作方法北京网站制作设计推广公司