如何将Gravatar哈希解密为真实的电子邮件地址?

时间:2015-01-29 10:50:54

标签: php cryptography gravatar

我需要从显示头像图片的Gravatar网址中获取真实的电子邮件地址:

  

http://www.gravatar.com/avatar/fbca892a7c5f5e6a99ad33433f5a93d0?d=http%3A%2F%2Fs.intensedebate.com%2Fimages%2Favatar-normal.png&s=26&r=PG

3 个答案:

答案 0 :(得分:8)

按照此处所述生成Gravatar哈希:http://en.gravatar.com/site/implement/hash/

如您所见,哈希实际上是电子邮件地址的MD5哈希值。 MD5哈希不能被解密"。

所以答案是......你不能这样做。

但是,如果你知道电子邮件地址是什么(或可能是什么),你可以生成哈希值并将其与你已经拥有的哈希值进行比较。


  

我认为可以做到,但我不能在某篇文章中说过" fbca892a7c5f5e6a99ad33433f5a93d0"包含电子邮件地址。

抱歉,但您的信念不正确。 gravatar哈希不包含&#34;电子邮件地址,如果有些文章真的说过,那就错了。为了记录,the article you linked并没有这么说。它所描述的是一种彩虹表&#34;与以前已知的电子邮件地址匹配哈希的攻击。<​​/ p>

答案 1 :(得分:2)

由于电子邮件地址被广泛共享,因此假设您有权访问包含您要查找的Gravatar电子邮件的泄露客户数据列表,这非常容易。

根据haveibeenpwned.com,我自己的电子邮件地址出现在17个不同的漏洞中。其中一些是我使用的服务,其中一些违反了在未经我知悉或同意的情况下获取我的电子邮件的公司的权利。与密码不同,如果密码泄露,您就无法真正更改它。

考虑您的电子邮件地址有多少个网站和服务。现在,考虑一下这些网站中有多少个缺乏安全性,或者放错了数据。您的电子邮件地址出现在违规are pretty much guaranteed中的可能性。

假设您可以建立一个电子邮件地址数据库,则可以获取每个电子邮件地址的MD5。您只需要构建数据库一次,然后您就可以非常便宜地检查一个gravatar URL是否与您之前看到的任何电子邮件地址匹配。

另一个答案指出,对于足够高的熵输入,使用蛮力MD5是不切实际的。这是绝对正确的,但却没有抓住重点。您无需强行使用电子邮件地址,因为电子邮件地址通常不是秘密的。另一方面,帐户和电子邮件地址之间的关联有时 是秘密的。

Gravatar决定以允许这种攻击的方式设计服务的决定,从隐私的角度来看是相当令人震惊的。

更多资源:

    通过尝试组合用户名和流行的电子邮件提供商,可以反转
  • 10%的StackOverflow Gravatar。 Link
  • 在法国政治论坛上,
  • 45%的电子邮件地址可以取消匿名。这是使用hashcat完成的。他使用了受欢迎的电子邮件提供商列表作为域名。为了确定左侧,他使用了字典和残酷的简短用户名的组合。 Link由Dominique Bongard讲话。
  • 此问题的概述。 Link

答案 2 :(得分:0)

可以使用WordPress Expose将http://wordpressexpose.chrisgherbert.com/gravatar转换为Gravatar URL的一部分作为原始电子邮件地址