好像在发帖中留`md5(手机号)`作为自己的联系方式也不是不行嘛 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
f14g
V2EX    程序员

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

 1  
  •   f14g 2023-07-08 23:00:17 +08:00 6051 次点击
    这是一个创建于 871 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    /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 image.png

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

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

    27 条回复    2023-07-10 01:36:22 +08:00
    d7101120120
        1
    d7101120120  
       2023-07-08 23:17:28 +08:00
    是的,已经有不少号称"解密"md5 的网站其实也都是用这种碰撞的方式,将大部分常见的字符串的 md5 值算出来,建立映射关系,之后再跟用户输入的 md5 字符串匹配的。

    说起来想起一件趣事,就是电信的光猫曾经将超级用户的密码放在登录接口的返回里面,虽然只有 md5 的值,但是有规则可循,总是 telecomadmin+8 位数字。这个时候就可以写一个简单的脚本,穷举出这 8 位数字的结果,从而得到超级密码。
    seakingii
        2
    seakingii  
       2023-07-08 23:23:01 +08:00
    可以但没必要
    Binwalker
        3
    Binwalker  
       2023-07-08 23:31:25 +08:00
    的确是这样,以前 CTF 比赛时有 MISC 题就是这种,给个 HASH ,flag 是手机号,然后地区和通信商通过其它条件找到以减少范围,python 写个遍历一秒就出来了
    dem0ns
        4
    dem0ns  
       2023-07-08 23:32:21 +08:00
    如果我是 cmd5 的股东,我愿意留下 md5 的手机号
    kkwa56188
        5
    kkwa56188  
       2023-07-08 23:40:02 +08:00
    碰撞跟暴力解密码 一样, 只适合 位数短的, 有一定限制的(例如手机号), 甚至还能建常用字典
    说不能解吧, 还是有能解的例子,
    但通用性就 见仁见智了
    leaflxh
        6
    leaflxh  
       2023-07-08 23:41:16 +08:00 via Android
    留 md5 这种纯属是想玩缘分
    lhbc
        7
    lhbc  
       2023-07-08 23:43:20 +08:00   2
    8bb258d4f970cc41c6d98ce3eceebc1d




    echo "my phone number: +86-(138)-0013-8000, call me please." | md5sum
    pengtdyd
        8
    pengtdyd  
       2023-07-08 23:43:33 +08:00   1
    但是现在在新项目的开始的时候密码都不用 md5 了,sha512+盐+散列,这样就算你得到了也没啥用。
    GeruzoniAnsasu
        9
    GeruzoniAnsasu  
       2023-07-08 23:45:58 +08:00   5
    如果你 10 年前用过 cmd5 ,那就应该知道它们早就把 11 位纯数字(手机号)撞完了:

    https://www.cmd5.com/password.aspx

    手机号撞出来确实不困难,但蠢不是因为无法还原,而是每一个留 md5 的人都没意识到 md5 是个 hash 算法意味着什么,这说明他的技术素养堪忧。

    假如原 po 主本意就是双向筛选密码学和安全技术扎实的业内人士,那留一个 md5 让人撞当然无可厚非
    f14g
        10
    f14g  
    OP
       2023-07-08 23:47:17 +08:00
    @pengtdyd `sha512+盐+散列`只会增加碰撞的难度而已. 如果本身密码强度足够低的话, 也是可以在可观的时间内解出的. 此时就要考验字典的能力了
    f14g
        11
    f14g  
    OP
       2023-07-08 23:50:32 +08:00
    @GeruzoniAnsasu 确实. 我发这个帖的时候也是有类似的想法: 如果想在 v 站筛选安全圈的 V 友的话, 留联系方式的时候放一个 md5sum 好像不失为一个好办法.
    RoccoShi
        12
    RoccoShi  
       2023-07-08 23:52:14 +08:00
    毕竟去掉前三位也就 1e7 的复杂度
    abersheeran
        13
    abersheeran  
       2023-07-09 00:02:27 +08:00
    如果是招黑客我觉得倒也不是不可以。甚至可以不留联系方式,只写待遇,让有兴趣的人自己想办法拿到联系方式。
    sNullp
        14
    sNullp  
       2023-07-09 00:13:14 +08:00 via iPhone
    本站有 md5 ptsd ,这个不是技术问题…
    dayeye2006199
        15
    dayeye2006199  
       2023-07-09 01:51:06 +08:00   2
    所以大家学习到了纯数字的密码有多弱智了把
    lithiumii
        16
    lithiumii  
       2023-07-09 02:01:59 +08:00 via Android
    确实,甚至可以留 sha256 的手机号
    mythabc
        17
    mythabc  
       2023-07-09 02:22:38 +08:00   2
    相比于
    192 手 1683 机 2109 浩
    你这种 MD5 彩虹表的方式有什么特别的优势吗?甚至在被识别出来的情况下,可以直接写个脚本进行全站手机号还原。

    而我,每一次使用都可以自由的变换加密方式

    192 1683 机 2109
    192 邀 683 机 2109
    192 手 1683 机 21 灵鹫
    x86
        18
    x86  
       2023-07-09 08:29:10 +08:00 via iPhone
    纯数字的 md5 何况是手机号,在 n 年前就能秒解了
    Jirajine
        19
    Jirajine  
       2023-07-09 08:32:50 +08:00
    @f14g “安全圈”人士留个 md5 的手机号确实挺搞笑的,security by obscurity ?
    除了装 b 没有任何安全性可言,真要安全的方式交换联系方式不如留 PGP 公钥。
    imdong
        20
    imdong  
       2023-07-09 08:44:46 +08:00 via iPhone   4
    如果你们对号码编码是为了防止社工攻击,那么使用固定值也是一种特征,月底麻烦一点,要搜索 Q 帐号,base64 后的帐号,md5 后的帐号……所以我留下 base64 时,并不会只编码帐号信息,会在前面加上一些额外的文字,尽量每次都不一样。这样 base64 的特征会减少。
    christin
        21
    christin  
       2023-07-09 10:01:19 +08:00 via iPhone
    手机号是 11 位的纯数字,暴力破解也还行,但是微信号不一样啊,未知长度的数字字母和符号,我可不想浪费时间挨着试
    bjzhush
        22
    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
        23
    f14g  
    OP
       2023-07-09 12:16:47 +08:00 via Android
    @imdong 有道理
    julyclyde
        24
    julyclyde  
       2023-07-09 13:36:21 +08:00
    除了 hash“有可能碰撞”之外,其实没啥太大问题
    Lax
        25
    Lax  
       2023-07-09 20:47:02 +08:00
    11 位数字的哈希值有没有算出来是相同的?如果没有碰撞的话,只是留一个手机号,那也算是一种可以考虑的方式。
    但是留的联系方式不一定只是手机号,还有各种邮箱、微信号、地址等等,不信在几秒之内就能碰撞出来
    w568w
        26
    w568w  
       2023-07-09 22:37:03 +08:00   2
    如果只是想反爬……

    ,莪:Ig2①彡贰
    gtgc2005
        27
    gtgc2005  
       2023-07-10 01:36:22 +08:00
    @w568w 的确,但是如果想联系你的人都看不懂,那么也就失去了发出来的意义了。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     895 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 21ms UTC 20:53 PVG 04:53 LAX 12:53 JFK 15:53
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86