MD5 和 CRC 是否生成 "unpredictable" 哈希值?

Do MD5 and CRC generate "unpredictable" hash values?

关于文件的完整性检查,我不确定CRC32或MD5校验和是否生成"unpredictable"个散列值:

检查文件是否相同时,通常使用CRC32或MD5校验和。这意味着从头到尾读取每个可能与另一个文件重复的文件,并根据 其独特的二进制内容。作为指纹,这个数字被存储并用于将文件的内容与其他文件进行比较,以确定它们是否真正相同。这意味着文件中的微小变化会导致相当大的变化 "unpredictable" 更改生成的哈希值。

这不是术语 "unpredictable" 的正确用法。这些算法是 确定性的 ,这意味着它们将始终在给定相同输入的情况下产生相同的输出。因此它们是完全可以预测的。

是的,对于这两种情况,输入的微小变化都会导致输出 "fairly large change",大约是输出的一半位。

这些检查不能用于确定两个文件是否 "are truly identical"。它们只能表明这两个文件很有可能是相同的。您需要直接比较这两个文件以确定它们是否真正相同。

另一方面,如果检查结果不同,那么您肯定知道文件不同。