原帖由 wolf0403 于 2006-6-11 01:14 发表
参考 TCP header 计算 checksum 的办法。预先在文件中留空白串("\0\0\0\0..." 足够写入整个 MD5 结果为准),计算 MD5SUM,然后把结果写入预留空间。进行检验的时候,把这个部分的内容置 '\0' 计算,然 ...
原帖由 liubinbj 于 2006-6-11 13:22 发表
checksum是可以累加的,你可以留白后期再算,md5似乎不能这么做,不知道你是否了解md5的计算方式,它本质上是个hash码。
一个最简单的例子是:
建立一个新文件,在文件中写下一个md5码并保存,并用md5算法 ...
原帖由 yulc 于 2006-6-12 13:48 发表
如果有这种方法,做出来一定要通知我!
我将不远万里赶来膜拜!
原帖由 isjfk 于 2006-6-12 16:04 发表
不用吧,再读一篇还理解不了的话建议 lz 改行算了...
我开玩笑的。
PS: 如果 lz 真能在电影的字幕(存在电影文件里的字幕,不是通过字幕文件附加的)里放上 md5 码,那建议 lz 马上入美国国籍,今年的图 ...
原帖由 liubinbj 于 2006-6-13 00:01 发表
再读了一遍,理解了他的意思,他给的方法不包含编码自身的编码。和我需要的不一致。
不知道是否有谁证明过不存在一个多项式算法能计算这个问题
即解方程:
md5(x)=x
或者方程
md5(const+x)=x
有谁证 ...
原帖由 flw 于 2006-6-13 08:07 发表
这个问题不是
如何解方程
md5(data+md5sum) = md5sum
这么简单的问题,
事实上,如果是视频的话,
方程式实际上是这样的:
md5(data+f(md5sum)) = md5sum
其中 data 是常量,f 是另一个函数,该函数把一 ...
原帖由 ppcl 于 2006-6-13 14:29 发表
其实这个不是想象中那么难,山东大学的某位教授已经破解了MD5,将寻找MD5冲突的时间缩短了若干个数量级,现在貌似已经能在40分钟的时间内找到MD5的一个冲突,所以伪造这个字符串已经是可能的了。
原帖由 flw 于 2006-6-13 14:56 发表
如果你学过数学的话,
你就会知道,
解方程
md5(data) = md5(x) data 为常量
也即
md5(x) = str str 为常量
和解方程
md5(data + foo(x)) = x
有多大区别。
原帖由 ppcl 于 2006-6-13 14:29 发表
其实这个不是想象中那么难,山东大学的某位教授已经破解了MD5,将寻找MD5冲突的时间缩短了若干个数量级,现在貌似已经能在40分钟的时间内找到MD5的一个冲突,所以伪造这个字符串已经是可能的了。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |