使用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. 爲什麼範圍$ apply()調用$ rootScope。$ digest()而不是這個。$ digest()?
- 3. Ruby - Digest :: Digest已棄用;使用摘要
- 4. Message Digest java
- 5. AngularJS digest postDigestQueue
- 6. MD5 Message Digest Java
- 7. 30 char md5 digest
- 8. Angular Digest Authentication
- 9. cURL和Digest Auth
- 10. Digest :: CRC32與Zlib
- 11. Digest Auth with Zombie.js
- 12. Digest驗證PHP
- 13. 爲什麼Digest :: SHA與RFC 4868中顯示的哈希值不同?
- 14. 爲什麼sha1_hex(「test」)返回的值不同於Digest :: SHA-> sha1_hex(「test」)?
- 15. $ digest()更新父$ rootScope
- 16. 捲曲 - - digest命令
- 17. git比git-svn有什麼優勢?
- 18. ServletRequestWrapper比過濾器有什麼優勢?
- 19. 使用HttpApplication比HttpApplication有什麼優勢?
- 20. LePUS3相比UML有什麼優勢?
- 21. 使用Redux比React有什麼優勢?
- 22. 使用SVN比CVS有什麼優勢?
- 23. DB2比VSAM有什麼優勢?
- 24. 使用javacv比opencv有什麼優勢?
- 25. django-treebeard比django-mptt有什麼優勢?
- 26. 使用BaseAdapter比ArrayAdapter有什麼優勢?
- 27. 使用chiliproject比redmine有什麼優勢?
- 28. DIVS比表格有什麼優勢?
- 29. 使用POCO比DataTables有什麼優勢?
- 30. AuthenticationNotSupportedException:WebSphere上的DIGEST-MD5
:: 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