文件哈希算法的性能

时间:2014-01-02 18:48:01

标签: perl md5 benchmarking sha filecompare

在我的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%   --

1 个答案:

答案 0 :(得分:6)

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