好像在发帖中留`md5(手机号)`作为自己的联系方式也不是不行嘛😁

2023-07-08 23:00:17 +08:00
 f14g

挖坟鞭尸警告!(无意冒犯)

/t/937283有感, 帖中 OP 留了个md5(微信 ID)作为联系方式, 遭到了大家的嘲讽.

本来我也只是当乐子看的嘛, 但是当我看到这么一篇更陈年的老帖的时候, 忽然意识到这个事情并不是那么的可笑.

如果我们限定md5sum是特定格式的数据产生, 以现代计算机的运算能力, 是可以控制在一个很短的时间内碰撞出原始数据的. 包括但不限于 QQ/手机号/短且简单的微信 ID, 以及前述数据拼接出来的邮箱地址, 等等.

比如, 我们限定一种最简单的联系方式: 手机号

我测试了两个 sample:

  1. 手机号 19216832109
  2. /t/937283中 OP 所留的 md5sum

使用hashcat进行掩码爆破: hashcat -m 0 -a 3 $hash 1?d?d?d?d?d?d?d?d?d?d

测试机 A 是我的上古游戏本, Intel 7920HQ + GTX 1070(CUDA 加速)

测试机 B 是前年买的小新笔记本, AMD 5800H (核心显卡)

测试机 A 可以在 2 秒内跑完所有的碰撞用例, 仅需 1 秒即可碰撞出手机号: 19216832109

测试机 B 可以在 6 秒内跑完所有的碰撞用例, 仅需 4 秒即可碰撞出手机号: 19216832109

从上述结果来看, 留一个md5sum作为自己的联系方式其实是有可取之处的嘛.🫢

5380 次点击
所在节点    程序员
27 条回复
christin
2023-07-09 10:01:19 +08:00
手机号是 11 位的纯数字,暴力破解也还行,但是微信号不一样啊,未知长度的数字字母和符号,我可不想浪费时间挨着试
bjzhush
2023-07-09 11:25:10 +08:00
技术上可行并不等于合适
为什么 V 站大家会留 base64 的联系方式?主要目的是防止 Google 等索引及后续可能的社工
至于你说的爆破,理论上是可行的,但是是需要一段程序支持的,而 base64 的 encode/decode 是随便在网页等地方 1 秒解开的。
可以对比一下,手机号 md5 几秒可解,安全性并不比 base64 高,但是反解起来更麻烦,所以有点脱裤子放屁的意思。
至于微信的 MD5 和 base64 相比,MD5 无解,因为微信 ID 长度可以非常长,base64 秒解。

综上,MD5 垃圾,base64 好用
f14g
2023-07-09 12:16:47 +08:00
@imdong 有道理👍
julyclyde
2023-07-09 13:36:21 +08:00
除了 hash“有可能碰撞”之外,其实没啥太大问题
Lax
2023-07-09 20:47:02 +08:00
11 位数字的哈希值有没有算出来是相同的?如果没有碰撞的话,只是留一个手机号,那也算是一种可以考虑的方式。
但是留的联系方式不一定只是手机号,还有各种邮箱、微信号、地址等等,不信在几秒之内就能碰撞出来
w568w
2023-07-09 22:37:03 +08:00
如果只是想反爬……

沵恏,莪哋掱僟呺湜:Ig2①陸仈彡贰—蕶勼
gtgc2005
2023-07-10 01:36:22 +08:00
@w568w 的确,但是如果想联系你的人都看不懂,那么也就失去了发出来的意义了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/955180

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX