我想知道是否有一种更快,更有效的方法来比较两个文本文件以检查相等性而不是比较两个文件的MD5?我正在使用Javascript。
答案 0 :(得分:6)
如果每次执行此操作都必须计算文件的MD5,那么您也可以检查长度是否相同,然后逐字节地比较它们。计算MD5(或任何其他哈希)意味着无论如何都要遍历整个文件。
伪代码:
bool filesAreSame(file1, file2) {
if (file1.length != file2.length) return false;
for (int i=0;i<file1.length;i++) {
if (file1[i] != file2[i]) return false;
}
return true;
}
答案 1 :(得分:0)
您可能会在维基百科Comparison_of_cryptographic_hash_functions
中受到关注来自:维基百科:Sha1sum
但是,sha1sum仍可使用 通用文件校验和,以及 被广泛认为比安全更安全 MD5或CRC。
来自:维基百科:Md5sum
md5sum不应该用于 安全很重要的情况
有关速度的有趣文章可以在omnifarious.livejournal.com/363945.html找到。
结果是:
SHA-1在大多数(操作系统)上实际上更快