堆栈溢出合并用户电子邮件地址

图片

我正在为GitSpo服务开发Google快讯。我不知道它到底是什么,但是服务正在迅速发展并且人们喜欢它。GitSpo的很大一部分是从各种社交网络收集数据:Twitter,LinkedIn和Stack Overflow。我注意到一件事:堆栈溢出使用Gravatar服务在用户配置文件中的化身。

Gravatar是一项将图像(在我们的示例中为化身)与您的电子邮件地址相关联的服务。其他站点(在我们的示例中为Stack Overflow)可以使用此图像来显示访问该站点的人的化身。

通过散列其电子邮件地址来找到用户的头像。例如,我的电子邮件地址是gajus@gajus.com。拥有我的电子邮件的任何人都可以使用我的头像生成指向图片的链接。例如,https

: //www.gravatar.com/avatar/74a5bd659b3a8af09a336a932eebe3b1我们得到:

图片

Gravatar于2007年推出,并且发展迅速,部分原因是它被用作WordPress网站上使用的化身的默认服务。好主意-上传头像一次,它将自动安装在所有站点上。只需更新Gravatar上的头像,您的头像图片将在所有站点上立即更改。但是不幸的是,他们选择的加密算法被证明是完全不安全的。

图片

图片的链接由您的电子邮件地址的MD5哈希生成,然后将其传输为小写字母并删除空格。

md5('gajus@gajus.com') === '74a5bd659b3a8af09a336a932eebe3b1'

即使在那时,使用MD5散列个人信息也是一个糟糕的选择。如今,MD5密码数据库包含超过90万亿个哈希。此外,一半的电子邮件地址包含有限范围的字符(/^►az@\-.†+$/),而且很容易预测其结尾,例如,一个流行的域名
@ gmail.com


我决定进行一个实验,并使用了1000个哈希值的Stack Overflow配置文件,并使用其中一种服务进行了解密。结果是721个电子邮件地址,即72%成功。

但是,有趣的是,这种情况不仅用于接收电子邮件地址。许多开发人员的电子邮件地址已经公开可用,因为GitHub的电子邮件地址可以从他们的个人资料,提交,文件和许可证中获得,甚至可以直接在代码注释中获得。 GitSpo拥有所有公开可用的GitHub概要文件和存储库上的数据,因此我能够对地址进行哈希处理并将其与Stack Overflow哈希进行比较。我找到了1000个。

应该注意的是,不仅Stack Overflow使用Gravatar,而且WordPress,HootSuit,TechDirt,Disqus也不仅使用Gravatar。Stack Overflow在其余部分中脱颖而出,因为这是主要受众是开发人员的资源,而让我感到惊讶的是,这种情况正在逐渐消失。

实际上,今天的Stack Overflow不能做太多事情-Internet上很多站点都是Stack Overflow的副本。但是,对于首次注册的用户,最好不要使用Gravatar。

All Articles