比MD5更好的方式?

时间:2011-01-25 11:22:56

标签: javascript comparison md5 equals

我想知道是否有一种更快,更有效的方法来比较两个文本文件以检查相等性而不是比较两个文件的MD5?我正在使用Javascript。

2 个答案:

答案 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在大多数(操作系统)上实际上更快