首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >谷歌为什么不关心特定于应用程序的密码中的“空格”呢?

谷歌为什么不关心特定于应用程序的密码中的“空格”呢?
EN

Security用户
提问于 2012-01-17 15:01:08
回答 2查看 7.2K关注 0票数 11

我最近为我的谷歌帐户设置了“两步验证”。

其中一个功能是为不支持2步进程的设备创建“特定于应用程序的密码”。(安卓、BlackBerry或iPhone等智能手机上的应用;Microsoft等邮件客户端;Google或AIM等聊天客户端)

当您创建这些密码之一时,Google告诉您“空格”并不重要。

这是否意味着…

  • 密码是以明文发送的,因此它们可以去掉另一端的空格(我知道邮件客户端可以这样做,但是谷歌的产品,比如Gmail、Calendar或ActiveSync)
  • 他们使用的散列方法去掉了空格(但是他们无法控制第三方产品哈希)
  • 它们在其端存储两个密码哈希,一个带有空格,另一个没有(如果是这样的话,难道不需要存储两个以上的密码,每个可能存储一个空间的三个位置的组合)
EN

回答 2

Security用户

发布于 2012-01-17 15:12:44

  • 密码是发送纯文本,这就是为什么你使用SSL来建立一个安全的连接,这样没有人可以嗅到你的通信。建议您发送一个散列密码,它仍然能够嗅探哈希并伪造一个请求,因为服务器将期望哈希而不是密码。(这基本上就是一个字符串)
  • 存储散列主要是为了确保当数据库被入侵/查看时,他们不能看到您的密码,并试图在其他帐户/服务上重用它。
  • 在对密码进行散列之前,它们可能会删除空格。正如您自己说的,在任何可能出现空白的情况下,保留密码的散列都会存储多个散列。或者密码总是由四组四个字母组成。然后,它将很容易首先删除所有的空格,然后再把它分成4组4个字母。
票数 11
EN

Security用户

发布于 2012-08-30 05:24:02

答案很可能是:

密码通过SSL加密通道发送到Google服务器。因此,Google服务器会看到客户端提供的密码。Google服务器在散列密码之前删除所有空格。因此,您可以认为密码没有空格(只为显示而添加空格)。或者,您可以将密码视为有空格,但散列过程忽略空格。无论哪种方式,它最终都是等价的。

第三方散列是不相关的。哈希是由Google服务器完成的,所以最重要的是Google如何对密码进行散列。

票数 6
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/10750

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档