PHP哈希文件,CRC32b或MD5更好?

时间:2013-07-05 06:51:05

标签: php algorithm hash md5 crc

我想哈希用户上传的文件

然后将哈希保存到db

这有助于我防止重复上传文件

我想知道我应该使用哪种哈希算法

用谷歌搜索有人说crc32b比md5更好更快

不会有动态错误吗?

如果不使用hash_file('crc32b'),或md5_file vs sha1_file

1 个答案:

答案 0 :(得分:1)

CRC-32速度更快,在大多数情况下可用于排除匹配。如果你得到CRC的命中,那么你可以应用一个更大的签名来检查它是否真的匹配。根据流量的大小,您很可能只会使用CRC进行误报匹配。使用SHA-256检查它是否真的匹配,并且仅基于此拒绝。

使用SHA-256也会产生假阳性的可能性极小。但是,对于您的应用程序,您也可以接受阻止用户在极少数情况下上传真正的新文件。