विषय "Is MD5 really that bad" पढ़ने के बाद, मैं हैश उत्पन्न करने के लिए एक बेहतर समाधान के बारे में सोच रहा था। क्या Adler
, CRC32
या SHA1
जैसे बेहतर समाधान हैं? या वे भी टूटे हैं?यदि एमडी 5 टूटा हुआ है, तो बेहतर समाधान क्या है?
उत्तर
सीआरसी 32 शायद सबसे खराब चीज है जिसे आप संभवतः पासवर्ड के लिए उपयोग कर सकते हैं (शायद crc16 :) के अलावा। चक्रीय रिडंडेंसी जांच यह पता लगाने के लिए है कि क्या प्राकृतिक कारणों से एक संदेश क्षतिग्रस्त हो गया है, बीजगणित से अधिक कुछ भी नहीं कर टकराव उत्पन्न करना तुच्छ है। SHA0 और SHA1 भी टूटा हुआ है, हालांकि एमडी 5() के विपरीत किसी ने भी SHA1 टकराव उत्पन्न नहीं किया है, लेकिन ऐसा माना जाता है कि यह हमारी वर्तमान तकनीक के साथ कम्प्यूटेशनल रूप से व्यवहार्य है।
SHA-2 परिवार के किसी भी सदस्य का उपयोग किया जाना चाहिए। शा -256 अच्छा है, SHA-512 शायद आपकी आवश्यकता से अधिक है। NIST अभी SHA-3 प्रतियोगिता कर रहा है और यह 2012 में कुछ समय के अंतिम रूप दिया जाएगा (जीत के लिए अंटी!)
+1 ... मुझे स्केन के बारे में कुछ संदेह हैं ..;) [अस्वीकरण: मुझे पूर्वाग्रह हो सकता है!] – Krystian
@ क्रिस्टियन आपकी दाहिनी स्कीन ने कुछ बाधाओं को मारा है और इसे पैच किया गया है। मैं यह देखने के लिए उत्सुक हूं कि यह कैसे खेलता है। – rook
प्रदर्शन-वार, स्कीन 64-बिट प्लेटफार्मों पर काफी तेज़ है, लेकिन यह 32-बिट सिस्टम पर बेकार है, खासतौर पर उन एम्बेडेड सिस्टम जहां प्रदर्शन सबसे महत्वपूर्ण है (जैसे राउटर या टैपर-प्रतिरोधी भुगतान टर्मिनलों)। बीएमडब्लू और शैबल कोड के आकार पर कठोर बाधाओं वाले सिस्टम के लिए बहुत तेज और अधिक अनुकूल लगते हैं। –
आप देख रहे हैं एक क्रिप्टोग्राफिक हैश समारोह के लिए, एडलर और CRC32 वास्तव में बुरा विचार हैं। SHA-1 पहले ही टूटा हुआ है, लेकिन MD5 से बहुत कम खतरनाक तरीके से। हालांकि, यह शायद भविष्य में बदल जाएगा।
अभी एकमात्र समझदार विकल्प SHA-256 का उपयोग करना प्रतीत होता है, संभवतः वांछित लंबाई में पाचन को कम करना।
-1 छंटनी एक बुरा विचार है। यद्यपि यह शा -512 से शा -384 बनाया गया है और शा -224 फॉर्म शा -256 बनाया गया है। यह केवल कुछ बाइट्स को बचाने के दौरान गणना का अपशिष्ट है। – rook
@ द रूक: यह सामान्य रूप से सच है, लेकिन मेरे मन में कुछ विशिष्ट मामले थे। यदि आप पूर्ण हैश संग्रहित कर सकते हैं, तो यह सबसे अच्छा विकल्प है और यह किया जाना चाहिए। लेकिन अगर आपको डाइजेस्ट के 160 बिट्स (कुछ गैर-लचीली कोडबेस में SHA-1 को प्रतिस्थापित करने की आवश्यकता है) की आवश्यकता है, तो SHA-1 छोड़ने के बजाय छंटनी वाले SHA-2 का उपयोग करना बेहतर है। – Krystian
मैं उस कथन से सहमत हूं। यह दो बुराइयों में से कम है। – rook
- 1. क्या javax.imageio.ImageIO टूटा हुआ है? यह
- 2. कटा हुआ एमडी 5 का समान वितरण?
- 3. System.IO.Exception: पाइप टूटा हुआ है
- 4. आईफोन (आईओएस 5) पर पीओओबीजेसी टूटा हुआ?
- 5. क्या एमडी 5 डिक्रिप्शन संभव है?
- 6. क्या एमडी 5 कई कोर/धागे में चलाने के लिए टूटा जा सकता है?
- 7. एंड्रॉइड.R.id.empty ज़ूम/हनीकॉम में टूटा हुआ है?
- 8. रूबीकोन्स: टूटा हुआ कून?
- 9. सिगिप, टूटा हुआ पाइप
- 10. मेरा सरल तुलनित्र क्यों टूटा हुआ है?
- 11. एमडी 5
- 12. एंड्रॉइड का रिलेटिवलाइट टूटा हुआ लगता है
- 13. जावा हैशटेबल # हैशकोड() कार्यान्वयन टूटा हुआ है?
- 14. समाधान वाइड विश्लेषण Resharper 4.5 में टूटा हुआ?
- 15. एक्सकोड ऑटोसेव टूटा हुआ?
- 16. क्या एनएचबर्ननेट FetchMany दो से अधिक टेबल टूटा हुआ है?
- 17. विंडोज पर जेम अपडेट - क्या यह टूटा हुआ है?
- 18. mysql_pconnect(): 5 बाइट्स भेजना errno = 32 टूटा हुआ पाइप
- 19. क्या javaws निकास कोड वास्तव में टूटा हुआ है?
- 20. चेकबॉक्स बाध्यकारी - बेहतर समाधान क्या है?
- 21. क्या विम का हास्केल वाक्यविन्यास टूटा हुआ है?
- 22. क्या जावा एसएसएल उबंटू पर ओपनजेडीके में टूटा हुआ है?
- 23. एमडी 5 एन्क्रिप्शन सममित या विषम है?
- 24. एमडी 5 हैशिंग सी #
- 25. विंडो मैनेजर से जुड़ा हुआ नहीं है (समाधान क्या है?)
- 26. क्या कोई प्रकाशित शोध इंगित करता है कि एमडी 5 पर प्रीमीज हमले निकट हैं?
- 27. आईओएक्सप्शन और टूटा हुआ पाइप
- 28. यदि "onselectstart" है, तो क्या "onselectend" है?
- 29. पायथन: subprocess.call टूटा हुआ पाइप
- 30. मैक ओएसएक्स में जावा मिडी टूटा हुआ?
क्या उद्देश्य के लिए हैश? – Gumbo
@ गम्बो अच्छा बिंदु, क्योंकि सुरक्षा अनुप्रयोग टकराव के साथ भी हमेशा सार्थक नहीं होते हैं। उदाहरण के लिए टकराव एचएमएसी की अखंडता को प्रभावित नहीं करते हैं। SHA-3 प्रतियोगिता का उल्लेख करने के लिए – rook