爲了演示目的,什麼是散列時碰撞的字符串的幾個例子? MD5是一個相對標準的散列選項,所以這就足夠了。哈希碰撞的例子?
Q
哈希碰撞的例子?
20
A
回答
23
This page提供散列爲相同的值128個字節值的這些例子:
d131dd02c5e6eec4693d9a0698aff95c 2fcab58712467eab4004583eb8fb7f89
55ad340609f4b30283e488832571415a 085125e8f7cdc99fd91dbdf280373c5b
d8823e3156348f5bae6dacd436c919c6 dd53e2b487da03fd02396306d248cda0
e99f33420f577ee8ce54b67080a80d1e c69821bcb6a8839396f9652b6ff72a70
和
d131dd02c5e6eec4693d9a0698aff95c 2fcab50712467eab4004583eb8fb7f89
55ad340609f4b30283e4888325f1415a 085125e8f7cdc99fd91dbd7280373c5b
d8823e3156348f5bae6dacd436c919c6 dd53e23487da03fd02396306d248cda0
e99f33420f577ee8ce54b67080280d1e c69821bcb6a8839396f965ab6ff72a70
注意,雖然你的問題問「串」的碰撞,MD5被定義過二進制數據,所以「字符串」的正常文本含義並不適用。允許您採用文本數據MD5哈希的語言和庫通常意味着「以指定編碼對字符串進行編碼,然後對結果進行哈希處理」。
3
瑟倫斯特芬·湯姆森公佈的C語言編寫的一個md5 collision finder utility可能是好玩。
10
如果目的是要說明爲什麼或散列函數如何導致衝突,而不是MD5明確,清晰的哈希函數,我知道的是簡單的模塊化分工。假設您將值存儲在大小爲10的數組中。要找到存儲特定值x的索引,index = x%10.很明顯,在這個小型哈希表中將存在衝突的批次,因爲例如,'A'(65)和'K'(75)都會散列爲5.MD5可以產生不同的值,所以碰撞的可能性要小得多,但仍然有可能。
34
我知道的第二個最有趣的碰撞是這樣的:
(30820432)3082039ba003020102020309cfc7300d06092a864886f70d0101040500305a310b300906
0355040613025553311c301a060355040a1313457175696661782053656375726520496e632e312d
302b06035504031324457175696661782053656375726520476c6f62616c2065427573696e657373
2043412d31301e170d3038313130333037353230325a170d3039313130343037353230325a308201
1c310b300906035504061302555331493047060355040a1340692e62726f6b652e7468652e696e74
65726e65742e616e642e616c6c2e692e676f742e7761732e746869732e742d73686972742e706872
6565646f6d2e6f726731133011060355040b130a475431313032393030313131302f060355040b13
28536565207777772e726170696473736c2e636f6d2f7265736f75726365732f6370732028632930
38312f302d060355040b1326446f6d61696e20436f6e74726f6c2056616c696461746564202d2052
6170696453534c2852293149304706035504031340692e62726f6b652e7468652e696e7465726e65
742e616e642e616c6c2e692e676f742e7761732e746869732e742d73686972742e7068726565646f
6d2e6f726730820122300d06092a864886f70d01010105000382010f003082010a0282010100b2d3
2581aa28e878b1e50ad53c0f36576ea95f06410e6bb4cb07170000005bfd6b1c7b9ce8a9a3c5450b
36bb01d153aac3088f6ff84f3e87874411dc60e0df9255f9b8731b5493c59fd046c460b63562cdb9
af1ca86b1ac95b3c9637c0ed67efbbfec08b9c502f29bd83229e8e08faac1370a2587f62628a11f7
89f6dfb667597316fb63168ab49138ce2ef5b6be4ca49449e465510a4215c9c130e269d5457da526
bbb961ec6264f039e1e7bc68d850519e1d60d3d1a3a70af80320a170011791364f0270318683ddf7
0fd8071d11b31304a5daf0ae50b1280e63692a0c826f8f4733df6ca20692f14f45bed93036a32b8c
d677ae35637f4e4c9a934836d99f0203010001a381bd3081ba300e0603551d0f0101ff0404030204
f0301d0603551d0e04160414cda683faa56037f796371729de4178f1878955e7303b0603551d1f04
3430323030a02ea02c862a687474703a2f2f63726c2e67656f74727573742e636f6d2f63726c732f
676c6f62616c6361312e63726c301f0603551d23041830168014bea8a07472506b44b7c923d8fba8
ffb3576b686c301d0603551d250416301406082b0601050507030106082b06010505070302300c06
03551d130101ff04023000(300d06092a864886f70d010104050003818100a721028dd10ea2807725
fd4360158fecef9047d484421526111ccdc23c1029a9b6dfab577591dae52bb390451c3063563f8a
d950faed586cc065ac6657de1cc6763bf5000e8e45ce7f4c90ec2bc6cdb3b48f62d0feb7c5267244
edf6985baecbd195f5da08be6846b175c8ec1d8f1e7a94f1aa5378a245ae54ead19e74c87667)
,與此碰撞(去掉括號中的部分):
(30820432)3082039ba003020102020141300d06092a864886f70d0101040500305a310b3009060355
040613025553311c301a060355040a1313457175696661782053656375726520496e632e312d302b
06035504031324457175696661782053656375726520476c6f62616c2065427573696e6573732043
412d31301e170d3034303733313030303030305a170d3034303930323030303030305a303c313a30
38060355040313314d443520436f6c6c6973696f6e7320496e632e2028687474703a2f2f7777772e
7068726565646f6d2e6f72672f6d64352930819f300d06092a864886f70d010101050003818d0030
818902818100baa659c92c28d62ab0f8ed9f46a4a437ee0e196859d1b3039951d6169a5e376b15e0
0e4bf58464f8a3db416f35d59b151fdbc438527081975e8fa0b5f77e39f032ac1ead44d2b3fa48c3
ce919becf49c7ce15af5c8376b9a83dee7ca2097314273159168f488aff92828c5e90f73b0174b13
4c9975d044e67e086c1af24f1b410203010001a382022430820220300b0603551d0f0404030201c6
300f0603551d130101ff040530030101ff301d0603551d0e04160414a704601fab724308c57f0890
55561cd6cee638eb301f0603551d23041830168014bea8a07472506b44b7c923d8fba8ffb3576b68
6c308201be06096086480186f842010d048201af168201ab33000000275e39e089610f4ea3c5450b
36bb01d153aac3088f6ff84f3e87874411dc60e0df9255f9b8731b5493c59fd046c460b63562cdb9
af1ca8691ac95b3c9637c0ed67efbbfec08b9c502f29bd83229e8e08faac1370a2587f62628a11f7
89f6dfb667597316fb63168ab49138ce2ef5b6be4ca49449e465110a4215c9c130e269d5457da526
bbb961ec6264f039e1e7bc68d850519e1d60d3d1a3a70af80320a170011791364f0270318683ddf7
0fd8071d11b31304a5dcf0ae50b1280e63692a0c826f8f4733df6ca20692f14f45bed93036a32b8c
d677ae35637f4e4c9a934836d99f0203010001a381bd3081ba300e0603551d0f0101ff0404030204
f0301d0603551d0e04160414cda683faa56037f796371729de4178f1878955e7303b0603551d1f04
3430323030a02ea02c862a687474703a2f2f63726c2e67656f74727573742e636f6d2f63726c732f
676c6f62616c6361312e63726c301f0603551d23041830168014bea8a07472506b44b7c923d8fba8
ffb3576b686c301d0603551d250416301406082b0601050507030106082b06010505070302300c06
03551d130101ff04023000(300d06092a864886f70d010104050003818100a721028dd10ea2807725
fd4360158fecef9047d484421526111ccdc23c1029a9b6dfab577591dae52bb390451c3063563f8a
d950faed586cc065ac6657de1cc6763bf5000e8e45ce7f4c90ec2bc6cdb3b48f62d0feb7c5267244
edf6985baecbd195f5da08be6846b175c8ec1d8f1e7a94f1aa5378a245ae54ead19e74c87667)
這些都是這兩個X.509證書只第一個實際上是由證書頒發機構簽署的。第一部分只是一個頭部,但最後一部分(你會注意到在兩個證書中是相同的)是衝突消息的MD5哈希的RSA簽名。這意味着第二個(假)證書將被驗證爲已由證書頒發機構的專用RSA密鑰簽名。
這種攻擊涉及多於200的Playstation 3製備攻擊並在攻擊者的一部分一些巧妙的定時。欲瞭解更多詳情,請參閱:MD5 considered harmful today。
最有趣的碰撞,我知道的是在火焰間諜惡意軟件所使用的。使用不同但類似的技術,先進的持續威脅(最有可能是西方情報機構)創建了一個聲稱已由微軟簽署的僞代碼簽名證書。例如參見this article。不幸的是,我無法訪問實際的證書和實際的MD5衝突。
相關問題
- 1. Qt4 QHash哈希碰撞?
- 2. 哈希表:在碰撞
- 3. adler32哈希的可怕碰撞
- 4. 哈希表中的碰撞概率
- 5. 圖像哈希指紋碰撞(dHash)
- 6. 哈希集如何發生碰撞?
- 7. 什麼時候哈希碰撞?
- 8. 查找碰撞字符串與給定的哈希函數
- 9. 如何找到玩具哈希函數的碰撞?
- 10. 針對特定數據結構的無碰撞哈希函數
- 11. hg/mercurial和git之間的哈希碰撞?
- 12. 碰撞處理的C++哈希表實現
- 13. 哈希表碰撞,如何獲得正確的值?
- 14. 密碼哈希:這是避免碰撞的方法嗎?
- 15. 粒子碰撞
- 16. 子彈碰撞
- 17. 似乎無法打破碰撞while循環,哈希
- 18. 哈希碰撞線性探測運行時間
- 19. 哈希表碰撞檢測解決方案
- 20. AndEngine粒子碰撞
- 21. Andengine碰撞 - 檢測碰撞和刪除物體時的例外
- 22. SHA1碰撞演示/示例
- 23. 碰撞和團結碰撞
- 24. 哈德森嚴重碰撞檢測
- 25. CharaterController與其他盒子碰撞器的碰撞問題
- 26. Sprite Kit碰撞 - 在發生碰撞的實例上執行實例方法
- 27. ASP.NET中的哈希碰撞問題是如何解決的(MS11-100)?
- 28. 哈希算法真的奇怪的碰撞:巧合還是錯誤?
- 29. AndEngine Box2D。移除碰撞後的碰撞遊戲碰撞
- 30. GUID的GUID或SHA1哈希之間是否有更多機會碰撞?
我認爲這是一個有效的問題。可能不是要求示例代碼,但它與編程有關。 – user142350 2009-08-03 19:53:54