不可能完成的任务:在图片上打上它的 md5 哈希值

2020-01-01 18:10:47 +08:00
 manami

就在刚才,我看到微信有个好友的头像比较好看,就点开来看。发现他给图片加了 2 行信息:

For xxx use only
md5: xxx

可以猜测他应该是为了防止别人盗图而加的额外信息。看到这里会发现,这其中有一个他不可能完成的任务:在图片上打上它的 md5 哈希值。于是我就问了我这个朋友,他说他知道的啊,只是打算加个类似水印的东西。给图片打上正确的 md5 哈希值是不可能完成的:因为你一加 md5 哈希值这个图片文件本身就被修改了,md5 哈希值也随之发生了改变。这是多么有意思的事情啊!

我相信我这个朋友他应该是故意的,因为他是非常聪明的人,很有意思的不可能完成的"水印"把我给惊艳到了。

于是我打开 ps 软件,把我的微信头像图片也加了这两行信息……

12000 次点击
所在节点    分享发现
69 条回复
Pogbag
2020-01-02 14:41:08 +08:00
winrarsetup.exe.rar
ahaxzh
2020-01-02 15:20:46 +08:00
我吃了一顿饭体重没变
manami
2020-01-02 15:26:51 +08:00
@ahaxzh 😂
ahaxzh
2020-01-02 15:32:36 +08:00
@mondeo 那到底谁是真的 谁是假的呢 哈哈哈哈哈哈哈哈哈哈
mxT52CRuqR6o5
2020-01-02 15:32:38 +08:00
看了些文章,md5 的碰撞攻击是生成两个相同 md5 值的文件,而这个 md5 值是不可控的,碰撞攻击很容易
生成指定 md5 的攻击叫做 Preimage attack,而进行 Preimage attack 很困难
我 57 楼的思路应该是行不通的
qakito
2020-01-02 16:03:42 +08:00
针对图片的签名,可以在不改变图片内容(例如 BMP 文件,不改变 RGB 数值; JPG 文件,不改变余弦变换值)的情况下,加入额外的信息;
如果是一般的 binary 数据,除非该数据在生成时就已经自带了 checksum,否则无法在不改变文件的情况下,加入额外信息
lneoi
2020-01-02 16:27:11 +08:00
@mxT52CRuqR6o5 我印象中是打开编辑器 六十进制改动头部和末尾 都会被壳拦住说校验不通过,好多年了不太确定就是,壳都不流行了
shm7
2020-01-02 17:22:55 +08:00
可能只是原图片的 hash 值,你们这些程序员就知道搞事情(逃
ablu
2020-01-03 16:46:43 +08:00
想到了特德蒋的《你一生的故事》(被改编过《降临》,电影质量嘛……)写到目前人类大部分的认知都是基于因果关系,而费尔马最少时间定律这种不好用因果关系解释的问题……
没啥想法,感慨一下
顺便推荐(逃

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

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

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

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

© 2021 V2EX