有沒有可能存在兩個相同crc32,md4,md5,sha1,sha2,sha3的不同文件?


根據鴿巢原理,必然存在,而且有無數對。


[[兩張內容不一樣但是 md5 一樣的圖片 - V2EX 兩張內容不一樣但是 md5 一樣的圖片 - V2EX]]

[[如何評價 2 月 23 日谷歌宣布實現了 SHA-1 碰撞? 如何評價 2 月 23 日谷歌宣布實現了 SHA-1 碰撞? - 知乎]]


有可能。

這個回答是不是太敷衍了。

定義一種新的碼,起個名字叫new碼吧,它是由文件的crc32,md4,md5,sha1,sha2,sha3依次拼起來組成。

假設new碼有m位,任取一個n&>m,那在所有文件長度小於等於n的文件中,總共有2^n種不同的文件,而new碼不超過2^m種,因為2^n&>2^m,根據抽屜原理,一定存在兩個文件,它們的new碼相同。既然new碼相同,那crc32,md4,md5,sha1,sha2,sha3也就都相同了。


哈希有限,文件無限。

哈希函數計算出的結果長度是固定的,因此結果是有限的,即便看起來很多很多。但文件的內容與長度都是任意的,所以無限。

結論:存在,並且有無數對。


很久以前我也有思考過這個問題:

內容不同的多個文件數據其單類型哈希函數計算結果挖掘必然會出現碰撞等同.那麼多種類型呢?

有,且必然存在.但問題在於文件數據的長度幾乎可以被視為是無限的.所以要驗證足夠多的可能性找出實例就.....

搬運一個問題:是否存在一個字元串,它的md5值是其自身?(有興趣可以去看看)


當然存在,你要同時這些hash碼都相同的你能不能找到就是另一個問題了。


推薦閱讀:

按熵增加原理,世界總有一天走向末日,這是不是一定會發生?
如何評價香農 Claude Shannon 的學術貢獻?
資訊理論里的一句話(見問題說明),可不可以用通俗一些的語言解釋一下?。。謝謝!
信息熵極低的文字會是什麼樣子?
信息增益到底怎麼理解呢?

TAG:資訊理論 | 哈希函數 |