1

我想散列用户上传的文件

然后将哈希保存到 db

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

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

google 有人说 crc32b 比 md5 更好更快

不会有动态错误?

如果不使用hash_file('crc32b'), 还是md5_filevs sha1_file?

4

1 回答 1

1

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

使用 SHA-256 得到误报的可能性仍然非常小。但是,对于您的应用程序,您最好接受在这种极少数情况下阻止用户上传真正的新文件。

于 2013-07-05T16:26:14.990 回答