Digest :: SHA优于Digest :: SHA1有什么优势?

时间:2010-08-06 02:52:58

标签: perl sha1 cpan digest

使用Digest::SHA优于Digest::SHA1或反之亦然?两者似乎都得到维护,但我没有看到Digest :: SHA1存在Digest::SHA存在的原因。

2 个答案:

答案 0 :(得分:6)

没有,Digest::SHA1是遗产,SHA1也是如此。根据{{​​1}}的文档:

  

2005年,在SHA-1中发现了安全漏洞,即可能存在数学上的弱点,表明需要更强的哈希函数。 Digest :: SHA模块在SHA系列中实现了更强大的算法。

它清楚地引用了Digest::SHA1Digest::SHA中的实施速度比Digest::SHA快一点(根据Digest::SHA1的文档 - 无论如何你应该使用它。)

Digest.pm

Algorithm Size Implementation MB/s SHA-1 160 Digest::SHA v4.3.1 58.9 SHA-1 160 Digest::SHA1 v2.10 48.8 Digest命名空间中所有模块的工厂,它优先Digest优先于Digest::SHA。您甚至可以认为Digest::SHA1被弃用了两倍,因为它被Digest::SHA1取代。

我认为在这里证实“弃用”一词可能很有用。我的意思是Digest::SHA2对于仍在SHA系列中的非SHA1哈希没有用处 - 其他发行版可以处理更多.. Digest :: SHA1也比较慢..据我所知仍然支持并且在很久以前就有一个稳定的版本: Digest-SHA1-2.13 - 2010年7月3日 - Gisle Aas

答案 1 :(得分:0)

使用Digest::SHA1::sha1编写的内容,或"Digest::$type"->new代替Digest->new($type)的内容({1}}可能需要Digest::SHA1。除此之外,首选Digest::SHA,默认情况下会Digest->new("SHA-1")使用它。