Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想散列用户上传的文件
然后将哈希保存到 db
这有助于我防止重复上传文件
我想知道我应该使用哪种哈希算法
google 有人说 crc32b 比 md5 更好更快
不会有动态错误?
如果不使用hash_file('crc32b'), 还是md5_filevs sha1_file?
hash_file('crc32b')
md5_file
sha1_file
CRC-32 要快得多,并且在大多数情况下可用于排除匹配。如果您遇到 CRC,那么您可以应用更大的签名来检查它是否真的匹配。根据您的流量大小,您很可能会仅使用 CRC 得到误报匹配。使用 SHA-256 检查它是否真的匹配,并且仅以此为基础拒绝。
使用 SHA-256 得到误报的可能性仍然非常小。但是,对于您的应用程序,您最好接受在这种极少数情况下阻止用户上传真正的新文件。