2011-01-24 115 views

回答

2

MD5很长,足以防止两个文件之间的随机冲突。

但是如果你有一个可以控制文件的攻击者,他可以很容易地创建两个具有相同散列的文件。这是因为MD5具有碰撞漏洞。考虑使用另一个散列,如SHA1。 Git使用SHA1-Hash文件来识别它们。

+0

我有问题..如果我们生成哈希值的两个不同的图像具有相同的文件名称哈希是相同的? – Sudantha

+0

如果你散列两个不同文件的内容,哈希将(具有极高的概率)会不同。 – CodesInChaos

+0

@Sudantha MD5不区分文件数据和文件名,因为它不知道文件系统的任何信息。您需要为MD5提供必要的数据。 – sharptooth