我想哈希用户上传的文件
然后将哈希保存到db
这有助于我防止重复上传文件
我想知道我应该使用哪种哈希算法
用谷歌搜索有人说crc32b比md5更好更快不会有动态错误吗?
如果不使用hash_file('crc32b')
,或md5_file
vs sha1_file
?
答案 0 :(得分:1)
CRC-32速度更快,在大多数情况下可用于排除匹配。如果你得到CRC的命中,那么你可以应用一个更大的签名来检查它是否真的匹配。根据流量的大小,您很可能只会使用CRC进行误报匹配。使用SHA-256检查它是否真的匹配,并且仅基于此拒绝。
使用SHA-256也会产生假阳性的可能性极小。但是,对于您的应用程序,您也可以接受阻止用户在极少数情况下上传真正的新文件。