0

在我的 Perl 应用程序中,我需要比较文件的两个版本并检测它们是否已更改。

我正在尝试在 MD5 或 SHA 之间进行选择。这与安全无关。这是比较文件的最快方法。我倾向于MD5。

但是,当我运行基准测试时,情况并非如此。

有什么建议吗?

这是我在我的应用程序中使用最大文件运行的基准测试。

Benchmark: timing 10000000 iterations of MD5, SHA...
   MD5: -0.199009 wallclock secs ( 0.07 usr +  0.01 sys =  0.08 CPU) @ 125000000.00/s (n=10000000)
        (warning: too few iterations for a reliable count)
   SHA: 0.494412 wallclock secs ( 0.06 usr +  0.00 sys =  0.06 CPU) @ 166666666.67/s (n=10000000)
        (warning: too few iterations for a reliable count)
       Rate  MD5  SHA
MD5 125000000/s   -- -25%
SHA 166666667/s  33%   --
4

1 回答 1

7

MD5 的计算速度可能比 SHA1 更快,因为它的结构更简单。再说一次,从磁盘获取数据比保持 MD5 或 SHA1 校验和更新要慢,所以在实践中这并不重要。

于 2014-01-02T18:52:38.773 回答