两张内容不一样但是 md5 一样的图片

2015-02-08 13:14:13 +08:00
 virusdefender

原文在 http://weibo.com/1619185424/C3fQkvyfH?type=comment

下载地址 http://pan.baidu.com/s/1kTpAUNl#path=%252Fmd5.%25E7%25A2%25B0%25E6%2592%259E

我这比较的md5也确实是一样的

MacBook-Pro:md5 virusdefender$ md5 plane.jpg
MD5 (plane.jpg) = 253dd04e87492e4fc3471de5e776bc3d
MacBook-Pro:md5 virusdefender$ md5 ship.jpg
MD5 (ship.jpg) = 253dd04e87492e4fc3471de5e776bc3d

但是sha1不一样

MacBook-Pro:md5 virusdefender$ openssl sha1 ship.jpg
SHA1(ship.jpg)= 9639db1fbadfcfbd4025a9b95d10b7799f65fcfb
MacBook-Pro:md5 virusdefender$ openssl sha1 plane.jpg
SHA1(plane.jpg)= 780973c1c165e76de3f10e1771db31cf9362d1f5

35721 次点击
所在节点    分享发现
72 条回复
yfdyh000
2015-02-08 19:19:31 +08:00
@love IPv6地址和MD5输出都是128bit,IPv6地址只是地球每粒沙子的级别,MD5不可能做到宇宙所有原子的级别吧。而且SHA1的输出是160bit、SHA256/512更长,如果MD5已经那么大了,没必要再加长了吧。
msg7086
2015-02-08 19:28:31 +08:00
@love 如果不会重复,那以后文件都不用存整个了,直接从散列里还原出唯一内容就好了。
love
2015-02-08 19:38:34 +08:00
@msg7086 我是说理论上会重复,实际上可以认为不会,至少不用但心随机碰撞。按wikipedia的说法32个字节就可以对应宇宙中所有原子。
yfdyh000
2015-02-08 19:45:19 +08:00
@love 哪篇说的?
Slienc7
2015-02-08 20:15:32 +08:00
@love 哈哈,漲姿勢了!。。。
Slienc7
2015-02-08 20:16:13 +08:00
@love 求wikipedia鏈接
Tink
2015-02-08 20:16:16 +08:00
撞了
love
2015-02-08 20:20:48 +08:00
yfdyh000
2015-02-08 20:25:17 +08:00
@love 哪句,没看到。建议看看 http://zh.wikipedia.org/wiki/数量级_(数据) ,两者差得很远。
dofine
2015-02-08 20:26:09 +08:00
@lsmgeb89 没记错的话是王小云(芸),原先我们学校的数学系教授,后来就去了清华。
Slienc7
2015-02-08 20:40:40 +08:00
@love 32位md5可存儲信息量: 16^32=2^128 近似 10^38

全球儲水量:1386×10^7亿立方米 近似 10^10億立方米 即億噸 即 10^18 噸
即10^(18+6)g 即10^24g 不管氧原子,衹算氫原子:10^24 g *1/9 約爲 10^23g 約爲 10^23 mol
10^23 * NA 約爲 6*10^46個 約爲 10^46 個
Slienc7
2015-02-08 20:42:04 +08:00
一算才發現確實很大,不過還差的遠~
love
2015-02-08 20:50:55 +08:00
@xgowex 那上写估算原子总数在10^80量级,len(str(256**32)) == 10^78,也差不多了
loading
2015-02-08 20:52:14 +08:00
样子不同,年龄相同的两个人。(年龄就是摘要)
Slienc7
2015-02-08 20:59:27 +08:00
@love 沒搞懂怎麽算10^78的~
yfdyh000
2015-02-08 21:05:38 +08:00
@love 你这算的是32位字节最多能存储的数据量。上面说过了,MD5的输出是128bit,32个字节是转换后的十六进制数列。128bit/8=16字节。PS: 原来真的是16字节,20楼我说错了。
@xgowex http://zh.wikipedia.org/wiki/数量级_(数据) 写的“128 bits (16 bytes)”是2^7。
ETiV
2015-02-08 21:16:46 +08:00
仨球放俩抽屉里, 在不切割球的前提下, 必然有一个抽屉有俩球.
jiangrongyong
2015-02-08 21:29:36 +08:00


百度云识别成同一张了 2333
BGLL
2015-02-08 22:33:11 +08:00
@love

128位MD5 = 2^128 = 3.4 ×10^38 个地址

1摩尔 = 6.02×10^23

(3.4 ×10^38)/(6.02×10^23) = 5.6x10^14 摩尔

按25度下的水来算 =5.6x10^14 /18 = 3.1 x 10^13 克 = 3.1x10^7 吨 = 3千万吨水
一条128位MD5 = 3千万吨水原子

忽略温度,2010年全国总用水量6022.0亿吨
BGLL
2015-02-08 22:45:16 +08:00
@xgowex
32字节 = 2^256 =1.1x10^77 个地址

宇宙可可观测原子数量 N x10^80 个 还是不够...

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

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

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

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

© 2021 V2EX