MD5 哈希值是否足以检查我的文件是否已正确传输

OVE*_*TOP 2 checksum md5 data-integrity sha256

我必须将文件从一台服务器传输到另一台服务器。自动化脚本将在每晚 12 点进行传输。我想比较传输前文件的 md5 哈希值和传输后文件的 md5 哈希值。md5 哈希值足够用于此目的吗?

或者我应该使用 sha256 ?

我主要担心的是 sha256 比 md5 慢得多。我的文件大小约为每个文件 1 GB。

Chr*_*ris 5

我会说是的。sha256 的主要优点是其安全性。如果您关心的是随机传输错误,那么 md5 就足够了。错误不太可能产生相同的哈希值。

另一方面,如果您想保护自己免受恶意操纵位的侵害,那么 md5 还不够。如果您通过加密通道及其数据进行通信,那么这应该不是问题,否则需要考虑这一点。

我还会仔细检查您的性能要求。对于良好的实现,目前 sha256 仅比 md5 慢 20-30%。如果它比这个大,也许你需要改变你的实现。如果它仍然是一个瓶颈,一定要选择更快的选择。