Distributions
› Ubuntu
› Fedora
› CentOS
中文资源站
› 网易开源镜像站
henglinli
V2EX  ›  Linux

pan.baidu.com/s/后面的好像是 md5,那么问题来了

  •  
  •   henglinli · Sep 22, 2018 via iPhone · 14664 views
    This topic created in 2965 days ago, the information mentioned may be changed or developed.
    md5 冲突了,会出现什么情况?
    有没有人试过了?
    Supplement 1  ·  Sep 24, 2018
    人人擅长不同,不知道 hash 冲突也别喷。
    要明确自己来此讨论的目的,我的目的分享和学习。
    57 replies  •  2018-10-03 09:42:04 +08:00
    2pang
    2pang
    Sep 22, 2018 via iPhone❤️10
    1
    你先做了一个假设 然后基于假设提出问题 不是应该先验证一下自己的假设对不对么
    henglinli
    henglinli
    OP
    Sep 22, 2018 via iPhone
    2
    据我发现 d.pcs.baidu.com/file/后面的这串,某些文件是 md5,某些又不是。
    不想上传的原因是:尽量不用需要实名的服务。
    freed
    freed
    Sep 22, 2018
    3
    说不定加用户名和分享时间来计算.用户名肯定不会重复..这样这一串也就不会重复了
    zsdroid
    zsdroid
    Sep 22, 2018❤️1
    4
    @henglinli #2 说的好像你不买火车票似得
    peterpei
    peterpei
    Sep 22, 2018 via Android
    5
    1:有没有这样一种可能:若是第一次分享文件,直接使用 md5 文件,若有其它用户再次分享,则可以加上 uid 或者百度有个分享顺序 ,比如 a 用户第一次分享,就是 md5,而 b 用户第二次分享,就可能是 md5 加次数
    2:发 linux 版好像不对啊。。
    springmarker
    springmarker
    Sep 22, 2018 via Android
    6
    谷歌不是发布过两个一样的 pdf 吗
    t6attack
    t6attack
    Sep 22, 2018❤️37
    7
    测试了一下教科书级样本文件:
    http://www.win.tue.nl/hashclash/SoftIntCodeSign/HelloWorld-colliding.exe
    http://www.win.tue.nl/hashclash/SoftIntCodeSign/GoodbyeWorld-colliding.exe
    离线下载跪了。两个文件分别离线到网盘,再下载到本地。发现都是第一个。
    huluhulu
    huluhulu
    Sep 22, 2018 via iPhone
    8
    只有分享的才有这个链接,而且链接是区分大小写的,应该不是 md5,楼主想多了
    henglinli
    henglinli
    OP
    Sep 22, 2018 via iPhone
    9
    @t6attack lice !之前腾讯云丢过数据,按照你的说法,百度盘也能丢数据了。
    henglinli
    henglinli
    OP
    Sep 22, 2018 via iPhone
    10
    @zsroid 远离百度总没错吧。国内这环境,不实名都不能发言了。
    passerbytiny
    passerbytiny
    Sep 22, 2018 via Android
    11
    国内网盘,多用户用特征码共享同一个文件,难道不是常识吗,为什么会有冲突的疑问。

    但 md5 做特征码很 low,直接用特征码当链接更 low
    yushiro
    yushiro
    Sep 22, 2018 via iPhone❤️6
    12
    从逻辑上来讲,不可能是 md5。
    同一个文件,特征码是一致的,如果用 md5 哈希后分享出去,打开的 web 页面显示这个文件的 owner 是谁?你好友分享给你的文件,结果你看到 owner 是陌生人?
    Showfom
    Showfom
    PRO
    Sep 22, 2018 via iPhone
    13
    @springmarker 那个是 sha-1
    lscho
    lscho
    Sep 22, 2018
    14
    @yushiro 从逻辑上来讲,可能是 md5,因为每次分享都存入数据库了,既然存入数据库,就有了唯一的 md5,之后就没有“打开的 web 页面显示这个文件的 owner 是谁?你好友分享给你的文件,结果你看到 owner 是陌生人?”这个问题了。

    但是从实际数据来看,不是 md5。
    KevZhi
    KevZhi
    Sep 23, 2018 via iPhone
    15
    不是 md5
    md5 冲突了就会出出很大的问题
    好了 解答完毕
    babytomas
    babytomas
    Sep 23, 2018
    16
    有可能只是担心自己的伪随机字符串太短、又嫌 UUID 太长且不好看,于是乎算字符串的 MD5 来作为链接名。

    存链接名之前查重,这样就生成了伪随机的 MD5 且不会重复了。
    zhzer
    zhzer
    Sep 23, 2018 via Android
    17
    md5 很 low 吗,我都用的 md5 当做 session id ……
    crab
    crab
    Sep 23, 2018
    18
    @t6attack
    @passerbytiny 应该是用 md5+文件大小 做特征的。md5 匹配大小不对不行。 腾讯的离线就是 sha1+文件大小。
    Biwood
    Biwood
    Sep 23, 2018
    19
    @t6attack 你跟楼主说的根本不是一个问题。

    楼主胡乱猜测是 md5,其实只是一种 url 生成规则而已,不一定跟 md5 有关,url 不重复这是常识,不存在冲突问题。
    而你测试的是云存储的机制,大部分云存储都有这种防止重复存储的解决方案,百度在这方其实做的比较一般。
    kernel
    kernel
    Sep 23, 2018 via Android
    20
    楼上说的很清楚了,共享网址里的那一串几乎不可能是 md5,你自己写过共享链接的就知道了,直接用了文件的 md5 你要取消共享怎么办?一般就是数据库里面共享记录的 id。 至于百度是不是用 md5 来文件查重,楼上的一个实验已经很说明问题了。
    justff
    justff
    Sep 23, 2018
    21
    现在发帖只需要猜就可以了
    yushiro
    yushiro
    Sep 23, 2018 via iPhone
    22
    @lscho 为啥你引用我的回复,会漏了一个关键的“不可能是 md5 ”中的“不”字
    liuyanjun0826
    liuyanjun0826
    Sep 23, 2018
    23
    确定不是 MP5 冲突了? MD5 是不可能冲突的,除非你吃过安定片了。
    liuyanjun0826
    liuyanjun0826
    Sep 23, 2018
    24
    @liuyanjun0826 对不起,安定片也不能让 MD5 冲突。。。
    theroesi
    theroesi
    Sep 23, 2018 via Android❤️1
    25
    @liuyanjun0826 你是不是对 MD5 有什么误解...
    liuyanjun0826
    liuyanjun0826
    Sep 23, 2018
    26
    @theroesi 不可能的,我就职于谷歌公司,如果我对 MD5 有误解,那世界上的通讯设备就都会出问题。
    matthewz
    matthewz
    Sep 23, 2018❤️1
    27
    @liuyanjun0826 这年头了, Googler 不等于懂 md5 或者什么"世界上的通讯设备"
    liuyanjun0826
    liuyanjun0826
    Sep 23, 2018
    28
    @matthewz 我是谷歌经理,不是打工仔。不要对号入座。
    sutking
    sutking
    Sep 23, 2018 via iPhone
    29
    @zsdroid #4 杠精!人家说的是尽量不用!
    matthewz
    matthewz
    Sep 23, 2018❤️1
    30
    @liuyanjun0826 不是打工仔 牛逼~~~~~~~(破音)
    azh7138m
    azh7138m
    Sep 23, 2018 via Android
    32
    啊,友情提示不要在 google 搜那个经理的 id,facebook 看得我眼要瞎了。
    gclove
    gclove
    Sep 23, 2018
    33
    @liuyanjun0826 就职于谷歌公司 ? 谷歌经理, 不是像我们一样的打工仔。 每个月花 400 块钱就能大吃大喝 ? ?
    Hsinchu
    Hsinchu
    Sep 23, 2018 via Android
    34
    度盘之前是 md5 作为 hash 的,不知道现在有没有改进。有个例子就是两张 md5 相同的图片上传到度盘,最后都是一张图片。这个链接里是个压缩包,解压后就是两个 md5 相同的图片,大家可以自己试验一下。
    https://pan.baidu.com/s/1W8fw1PATXxbXnceIa1GtlQ
    ggsimidar
    ggsimidar
    Sep 23, 2018
    35
    @liuyanjun0826 MD5 不可能冲突是什么原理?还请经理给我们这些打工仔分享一下
    lscho
    lscho
    Sep 23, 2018
    36
    @yushiro 我的意思就是可能是 md5 啊。。。因为每次分享就要入库,既然入库,就有可能生成唯一的 hash 啊,根据 md5 就可以反查相关数据,以及取消分享了。
    imn1
    imn1
    Sep 23, 2018
    37
    这个帖子的焦点一直在跳,chaos

    md5 跳到实名,到百度,到 google,到经理?
    icylogic
    icylogic
    Sep 23, 2018
    38
    @yushiro 他的意思是那个可以不是文件的 md5,是用其他信息一起(比如 Owner )生成了一个 ID ……但这种已经和主题没啥关系了。

    以及这贴后面走向真是猝不及防……
    Arnie97
    Arnie97
    Sep 23, 2018 via Android
    39
    @t6attack 关于离线下载的哈希碰撞,可以看看这篇总结 https://yangyuan.github.io/post/2014-04-12-zh-china-cloud-drives
    不过这跟楼主问的链接生成没有太大的关系
    MinQ
    MinQ
    Sep 23, 2018 via Android
    40
    @azh7138m 笑出声,打人不打脸啊
    geeti
    geeti
    Sep 24, 2018
    41
    @liuyanjun0826 精神谷歌经理不等于谷歌经理,就像精日并不是日本人。醒一醒
    QK8wAUi0yXBY1pT7
    QK8wAUi0yXBY1pT7
    Sep 24, 2018
    42
    https://kdslife.com/t_9016565.html
    二楼
    还是有撞 id 可能的
    612
    612
    Sep 24, 2018 via iPhone
    43
    skylancer
    skylancer
    Sep 24, 2018
    44
    @liuyanjun0826 不说上面某样本,大概国内有人找到了冲突的事情你也不知道?
    呵呵
    skylancer
    skylancer
    Sep 24, 2018
    45
    @azh7138m 我艹我真不该收件
    skylancer
    skylancer
    Sep 24, 2018
    46
    @azh7138m 我艹我真不该手贱
    scriptB0y
    scriptB0y
    Sep 24, 2018
    47
    这里有个项目可以对不同的 pdf 让它们生成相同的 sha1,md5 不知道有没有类似的。

    https://github.com/nneonneo/sha1collider
    wolfie
    wolfie
    Sep 24, 2018
    48
    @azh7138m
    手贱 + 辣眼睛
    jss
    jss
    Sep 24, 2018 via iPhone
    49
    我有 100 种方法让他不冲突…
    ryd994
    ryd994
    Sep 24, 2018 via Android
    50
    @liuyanjun0826 md5 碰撞没听说过?
    瞎 jb 说话不嫌丢人。你说说是什么级别的 manager,什么部门?别是客服经理吧?
    一开始说错了也就算了,说不过别人就开始用身份压人?用身份压人可得实名啊
    ryd994
    ryd994
    Sep 24, 2018 via Android
    51
    话说我每个月饭钱都将近一千了我也没这么牛逼啊
    美元
    liuyanjun0826
    liuyanjun0826
    Sep 24, 2018 via Android
    52
    @ryd994 你可以对号入座,但请你先照照镜子问问自己,我说的自己信吗?
    henglinli
    henglinli
    OP
    Sep 24, 2018
    53
    感谢 @t6attack @Hsinchu 分享测试结果。
    测试结果显示百度会无法分享 hash 相同的非首次存储的 duplicate。
    可能是存储了,但是 url 生成重复;也可能发现是 duplicate 没有存储。
    如果是第一种情况就好了,能上传脏数据。
    第二种情况,可以考虑投诉(考虑到估计百度用户条款,可能没那么简单)。

    md5 比 sha1 “弱“(既然能让 sha1 冲突,当然能让 md5 冲突,事实上出现顺序也是如此)。
    让 hash 冲突的前提就是文件大小一致。
    url 生成没有用 uuid,而是 md5 我感到好奇。

    能有人提供更多百度云存储细节就好了。
    cuzfinal
    cuzfinal
    Sep 25, 2018
    54
    冲突就冲突吧,一点点的冲突几率远比耗费大量带宽和时间容易接受。
    alfredsun
    alfredsun
    Sep 25, 2018
    55
    @azh7138m 谢谢 瞎了之后感觉好多了
    pityhero233
    pityhero233
    Oct 3, 2018 via Android
    57
    @liuyanjun0826 哈哈哈经理真厉害,400 元公款吃喝
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1508 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 110ms · UTC 23:19 · PVG 07:19 · LAX 15:19 · JFK 18:19
    ♥ Do have faith in what you're doing.