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

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

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

For xxx use only
md5: xxx

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

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

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

12000 次点击
所在节点    分享发现
69 条回复
itodouble657
2020-01-02 09:15:26 +08:00
图片加其他东西生成指定的 md5 ?
openbsd
2020-01-02 09:28:27 +08:00
图片的话,难道不是加数字水印 ?
sinv
2020-01-02 09:29:12 +08:00
md5($file)==md5($file+md5($file))

如此这样么?
imn1
2020-01-02 09:42:06 +08:00
@chendeshen
不一样,文件改名并不影响 hash 值,内容变化才影响
nanoha
2020-01-02 09:55:45 +08:00
理论上是可行的吧 但是实际能否实现就不知道了
一个函数加上一个常量然后求导后还是这个函数本身 就看你能否找到那个 e^x
Rekkles
2020-01-02 09:59:37 +08:00
我。。。。操我自己?
iv2ex
2020-01-02 10:12:32 +08:00
@Rekkles #46 你要是只看结果,这样做没毛病。
iv2ex
2020-01-02 10:13:52 +08:00
这个技术很成熟了的,大量影片照片其实都有隐藏版权信息的。做数字水印防伪的公司一方面提供按个数量收费的水印服务(一部片子几块钱),一方面提供盗版片源的全网扫描。
--------------------------------
@areless #38 这个方案不错啊,md5 (水印)是防伪,隐藏版权信息也行,只是不明显,外行看起来不酷
bl5c
2020-01-02 11:04:49 +08:00
![2020-01-02_110338.jpg]( https://i.loli.net/2020/01/02/M73ybi9FYXAVgEk.jpg)
好几年前就有了
ThirdFlame
2020-01-02 11:08:15 +08:00
@bl5c 这是安装程序运行时 读取安装文件 计算出来的。 不是固化的。
villivateur
2020-01-02 11:23:38 +08:00
这应该是一个数学问题吧?

对于任意一个数 A,能否找到一个数 B,使得 A+B 的某种哈希值等于 B ?
villivateur
2020-01-02 11:23:54 +08:00
@villivateur 求大佬解惑
JerryZhi
2020-01-02 11:37:32 +08:00
他只要先对原图求 md5,再把这个 md5 写到图上,并发布。只要原图不泄露,他就能证明自己才是最初来源。
但是求相关的数学问题确实很有意思哈哈。
ksvany
2020-01-02 12:12:40 +08:00
禁止套娃
tetora
2020-01-02 12:35:00 +08:00
绕不过来,感觉不行,我还是可以把水印搞掉再重复一边你的动作
BlueSky335
2020-01-02 13:01:41 +08:00
频域数字水印了解一下,像截图,有损压缩这种方式都无法去除干净。https://www.zhihu.com/question/50735753/answer/122593277
mxT52CRuqR6o5
2020-01-02 13:06:15 +08:00
@manami 最简单的,jpg 文件在文件末尾 append 任意数据也不会影响 jpg 本身,可以靠这个特性去进行碰撞
lneoi
2020-01-02 13:44:41 +08:00
我几点很久以前加壳软件有这类似的方式,加壳后能校验加壳后的文件 CRC32 是否一致,防止被修改,也是不明白怎么弄的。
yolee
2020-01-02 14:09:36 +08:00
禁止套娃
mxT52CRuqR6o5
2020-01-02 14:19:32 +08:00
@lneoi 算的不是整个文件的 crc32,而是某一部分

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

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

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

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

© 2021 V2EX