两张内容不一样但是 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

35574 次点击
所在节点    分享发现
72 条回复
tomheng
2015-02-09 14:57:05 +08:00
大小也一样,我很好奇这是构造的还是巧合?
ryd994
2015-02-09 16:18:14 +08:00
@b821025551b jpg是允许结尾拼接无关数据的。所谓”图种“就是这么来的
dorentus
2015-02-09 18:03:10 +08:00
@msg7086 所有的 hashtable 实现都会考虑并且处理碰撞的啊
b821025551b
2015-02-09 18:08:12 +08:00
@ryd994 但是md5是散列的啊!!像图种那样拼接在结尾是不能实现md5一样呀
itfanr
2015-02-09 19:10:59 +08:00
有意思
qq446015875
2015-02-09 22:00:26 +08:00
@kkhaike HashTab
qq446015875
2015-02-09 22:01:12 +08:00
Cu635
2015-02-09 22:15:18 +08:00
@msg7086 也不是,hash函数原理是单向过程很简单,但是反推就极其复杂。可能是一一映射,但是想通过hash值找原函数几乎不可能。

md5就是被发现了可行的算法来找相同md5的串,所以不安全了。
ryd994
2015-02-10 01:25:13 +08:00
@b821025551b 未必,王小云不是已经证明某些情况下主动碰撞难度可以大大降低了么。
两张图片原来的大小不一样都没关系,补到同大小
我只要给两张图片分别补上构造的数据,使他们md5一样即可。
ryd994
2015-02-10 04:35:10 +08:00
@b821025551b 举个例子,微软所有的iso,crc都是FFFFFFFF,就是通过补32位的数据做到的。
当然CRC不抗人为攻击,做起来要简单点,MD5是散列,做起来麻烦点而已。
FENICE
2015-02-10 07:53:13 +08:00
涨姿势了!
l00t
2020-01-02 09:11:49 +08:00
有人能当场做个图么?

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

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

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

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

© 2021 V2EX