使用Digest::SHA优于Digest::SHA1或反之亦然?两者似乎都得到了维护,但我没有看到Digest :: SHA1存在Digest::SHA
存在的理由。Digest :: SHA比Digest :: SHA1有什么优势?
2
A
回答
6
没有,Digest::SHA1
是遗留的,因为是SHA1
。每Digest::SHA1
文档:
在2005年,安全漏洞的SHA-1被确定,即可能的数学弱点可能存在,表明较强的散列函数是可取的。 Digest :: SHA模块在SHA系列中实现了更强大的算法。
它明确提及Digest::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
取代。
我认为这可能有助于证实术语“弃用”。我的意思是,Digest::SHA1
对于仍然在SHA系列中的非SHA1哈希值没有用 - 其他发行版可以处理更多.Digest :: SHA1也比较慢..据我所知,仍然支持有一个稳定的版本不是所有早就说过:文摘 - SHA1-2.13 - 2010年7月3日 - 伊斯勒的Aas
0
的东西,写使用Digest::SHA1::sha1
,或者(在一个合适的愚蠢的)不"Digest::$type"->new
,而不是Digest->new($type)
可能需要Digest::SHA1
。除此之外,Digest::SHA
是首选,默认情况下将使用Digest->new("SHA-1")
。
相关问题
- 1. LoadError:dlopen(digest/sha1.bundle):未找到符号:_rb_Digest_SHA1_Finish
- 2. AngularJS digest postDigestQueue
- 3. MD5 Message Digest Java
- 4. Digest :: CRC32与Zlib
- 5. Digest Auth with Zombie.js
- 6. 为什么sha1_hex(“test”)返回的值不同于Digest :: SHA-> sha1_hex(“test”)?
- 7. 为什么Digest :: SHA与RFC 4868中显示的哈希值不同?
- 8. $ digest()更新父$ rootScope
- 9. 卷曲 - - digest命令
- 10. DB2比VSAM有什么优势?
- 11. git比git-svn有什么优势?
- 12. 使用Redux比React有什么优势?
- 13. 使用HttpApplication比HttpApplication有什么优势?
- 14. DIVS比表格有什么优势?
- 15. django-treebeard比django-mptt有什么优势?
- 16. LePUS3相比UML有什么优势?
- 17. 使用POCO比DataTables有什么优势?
- 18. 使用SVN比CVS有什么优势?
- 19. 使用BaseAdapter比ArrayAdapter有什么优势?
- 20. AuthenticationNotSupportedException:WebSphere上的DIGEST-MD5
- 21. Perl Digest :: SHA1未在OS X上导入Leopard服务器
- 22. 我可以序列化ruby Digest :: SHA1实例对象吗?
- 23. Message Digest,Message Authentication Code和HMAC有什么区别?
- 24. reftype {}有什么优势?
- 25. XMPP握手(DIGEST-MD5 SASL)
- 26. TypeError:错误的参数(字符串)! (预期种类的OpenSSL :: Digest :: Digest)
- 27. 为什么Perl和/ bin/sha1会给出不同的结果?
- 28. 为什么digest和PKI.digest返回不同的散列?例如,
- 29. 为什么md5不匹配Perl的Digest :: MD5输出?
- 30. 为什么`print hashlib.sha224(some_string).digest()`与`repr()`不同?
:: SHA模块也包含SHA-2算法......但是如果你*仍然在计划使用SHA-1,那么它就不是另一种方式。我查看了文档,但没有看到任何暗示Digest :: SHA1是遗留的或已弃用的内容。 – xenoterracide 2010-08-06 03:04:02
@ xenoterracid,错,它仍然是一个争论。你是否希望将它们都加载到内存中,因为其他模块希望在不是SHA1的同一个系列中实现散列?你是否希望依靠不同的发行版来维护开放的错误,当它只支持新版功能的一个子集 - 并且在那个时候**它会更慢** ...... – 2010-08-06 03:18:48
这是一个更好的论点; ),而不是根据您使用的安全漏洞来讨论可能相关或可能不相关的安全缺陷。 – xenoterracide 2010-08-06 03:33:01