1
xfspace 2015-10-22 17:56:49 +08:00 via Android
MD5 能碰撞,一般小黑阔不搞这个。。。
SHA1 貌似也能碰出来, |
2
mahone3297 2015-10-22 18:00:38 +08:00
@xfspace 光碰出来也没用,还要你下的这个东西,用起来,像原版一样。这样的需求,基本不可能实现吧。。。
|
3
xfspace 2015-10-22 18:06:46 +08:00
@mahone3297 在原版种个木马,把原版的 MD5 碰出来,怎么没用?
|
5
boter 2015-10-22 18:09:03 +08:00
还有 PGP 校验签名的方式,不过都不是很了解原理,只是会用,有人解释下更好
|
7
virusdefender 2015-10-22 19:14:43 +08:00
保证文件不同而 MD5 一样已有先例,但是碰撞出来的文件同时具有特定的功能还不太可能。
sha1 和 crc32 不清楚。 |
8
liberize 2015-10-22 21:09:23 +08:00 1
|
9
cmxz 2015-10-22 21:52:10 +08:00
@mahone3297 在一些不影响程序逻辑的地方构造填充数据即可实现
|
10
VYSE 2015-10-22 22:33:05 +08:00
同时校验 MD5 和 SHA1 ,同时碰撞的概率。。。。
|
11
JamesRuan 2015-10-22 22:46:05 +08:00
CRC32 不是校验文件完整性的。
md5 、 sha1 都是 digest algorithm ,用于用很小的代价比较两段数据是否“不同”。 digest 不同的,一定不同, digest 相同的,有非常小的概率不同。 而 crc 是 error-ditecting code ,用于发现由于随机错误导致的数据失真。 CRC 不为 0 的,说明一定有错误发生,而 CRC 为 0 的,则不一定是没有数据错误。( Typically an n-bit CRC applied to a data block of arbitrary length will detect any single error burst not longer than n bits and will detect a fraction 1 − 2^{-n} of all longer error bursts ) 两者有相似性,都是把一个更大的空间 map 到一个很小的空间,不同点是,要故意构造相同的 md5 digest 和 sha1 digest 是个难题,但构造 CRC 相对就很容易了;前者有很强的防故意构造能力(虽然 md5 已经被王小云攻破,可以比设计地更容易构造相同的 digest ),而后者只具有有限的抗随机错误的能力。 |
12
zhujinliang 2015-10-22 22:46:57 +08:00
无损压缩,然后对比压缩后的值,肯定不会碰撞
|
14
gamexg 2015-10-22 22:47:44 +08:00
还有数字签名,具体的细节就不知道了。
一般 windows 下大的公司提供的软件安装包都有签名了。 右键=>属性=>数字签名。 |
15
543400 OP 其实我最后想表达的是,网上有 md5 CRC32 的修改器 不过 SHA1 就没搜到
|
16
gamexg 2015-10-22 22:49:59 +08:00
其实数字签名也是 hash 的一种实现。
|
18
JamesRuan 2015-10-22 22:57:38 +08:00
@543400 简单说, md5 sha1 除了检验文件不同外,还能抵抗故意构造相同的 digest ,而 CRC 除了检验文件不同外,只能抵抗随机错误。
|
19
543400 OP @JamesRuan 原来如此 但是网上那些 md5 sha1 修改器 要是修改到指定的值 那么 CRC 也会跟着变化?
|
20
lightening 2015-10-22 23:10:46 +08:00
给定一个 MD5 找到一个碰撞是可能的。但是这个碰撞的内容完全不可控。一个几 GB 的文件,很有可能找到一个几字节的文件和它 MD5 相同。基本不可能做到两个类似的文件 MD5 相同。
|
21
lightening 2015-10-22 23:11:53 +08:00
@543400 什么叫 MD5 修改器啊, MD5 是你用自己电脑上的 MD5 计算软件算出来的,怎么改?
|