2011-01-24 162 views

回答

2

MD5很長,足以防止兩個文件之間的隨機衝突。

但是如果你有一個可以控制文件的攻擊者,他可以很容易地創建兩個具有相同散列的文件。這是因爲MD5具有碰撞漏洞。考慮使用另一個散列,如SHA1。 Git使用SHA1-Hash文件來識別它們。

+0

我有問題..如果我們生成哈希值的兩個不同的圖像具有相同的文件名稱哈希是相同的? – Sudantha

+0

如果你散列兩個不同文件的內容,哈希將(具有極高的概率)會不同。 – CodesInChaos

+0

@Sudantha MD5不區分文件數據和文件名,因爲它不知道文件系統的任何信息。您需要爲MD5提供必要的數據。 – sharptooth