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

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

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

For xxx use only
md5: xxx

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

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

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

11779 次点击
所在节点    分享发现
69 条回复
Seanfuck
2020-01-01 20:56:59 +08:00
见过 php 混淆加密是验证自身文件 md5 的,文件被修改就跑不了,不知道怎么实现的
EdwardSherlock
2020-01-01 21:11:47 +08:00
人类的本质是套娃?
est
2020-01-01 21:53:49 +08:00
能吧一个 .rar 文件解压出来得到一个 .txt 里面写的是 .rar 的 md5 不?
hst001
2020-01-01 22:12:39 +08:00
这就好像让你去预测未来,但是记得把你的预测过程也预测进去,不然就不准了
heiheidewo
2020-01-01 22:48:01 +08:00
楼主是怎么做到的呢
manami
2020-01-01 22:53:39 +08:00
@heiheidewo 我没做到,给图片打上的应该是错的 md5 哈希值
mondeo
2020-01-01 22:57:39 +08:00
md5 早就被攻破了,随便编个 md5,然后在文件里拼凑些数据进去,就能获得同样的 md5
alphatoad
2020-01-01 22:59:42 +08:00
Key extension attack
mxT52CRuqR6o5
2020-01-01 23:35:23 +08:00
@manami 可以碰撞就代表检验完整性的能力被攻破了
Youen
2020-01-01 23:53:59 +08:00
出生的时候嘴巴里含着自己的基因密码
xifangczy
2020-01-02 00:18:48 +08:00
那么,有没有一个 md5 字符串就是它自己的 md5 值?
Tink
2020-01-02 00:47:26 +08:00
@xifangczy #31 有的,你搜搜,以前看到过
leishi1313
2020-01-02 02:58:26 +08:00
其实人家的本意是,图像如果被盗用,原图(不带 md5 )拿出来一 hash 就能证明是自己的,因为只有原图才能 hash 出这一串 md5 (不考虑碰撞的吧,也太难了)。楼主的理解歪了
explore365
2020-01-02 03:01:47 +08:00
msg7086
2020-01-02 04:44:57 +08:00
@leishi1313 对。MD5 的用意是证明图片来源而不是保证图片文件完整性。
就算是被重新压缩重新处理,最后的成品图上依然有原始文件的 MD5。
只要作者能证明他是第一个发布原图的人,就可以证明这个被修改过的文件源自他之手。
Mithril
2020-01-02 07:31:39 +08:00
@delectate 隐写进去拍照也是会看到的,唯一的办法就是重新生成一张图。或者你知道算法直接抹掉隐写进去的数据。
areless
2020-01-02 08:19:55 +08:00
areless
2020-01-02 08:26:02 +08:00
这个技术很成熟了的,大量影片照片其实都有隐藏版权信息的。做数字水印防伪的公司一方面提供按个数量收费的水印服务(一部片子几块钱),一方面提供盗版片源的全网扫描。
areless
2020-01-02 08:40:37 +08:00
不过楼主那个无法做到。逃。。。
chendeshen
2020-01-02 08:55:51 +08:00
这跟 磁力链接 就是 种子文件 .torrent 的 hash ( md5 )? 一样道理?

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

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

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

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

© 2021 V2EX