MD5 अभी भी यथोचित इतने लंबे समय के रूप में आप वास्तविक पासवर्ड के साथ मिश्रण करने से पहले यह एन्क्रिप्टेड है एक अच्छा "नमक" का उपयोग, ज्यादातर मामलों [*] के लिए उपयोग करने के लिए सुरक्षित है।
एमडी 5 पर "पहले प्री-इमेज अटैक" को पूरा करने के लिए ब्रूट फोर्स के अलावा अभी भी कोई ज्ञात तरीका नहीं है, यानी एक हैश दिया गया है, यह पता लगाएं कि मूल पासवर्ड क्या था।
ऊपर वर्णित "नमक" यह सुनिश्चित करने के लिए आवश्यक है कि आपके एन्क्रिप्टेड पासवर्ड को "इंद्रधनुष तालिका" या "पचाने के लिए स्ट्रिंग" की अन्य मौजूदा सूचियों में देखा जा सके।
हाल ही में लिंक्ड-इन पासवर्ड लीक एक अच्छा उदाहरण है कि क्यों नमक महत्वपूर्ण है। वे अपने उपयोगकर्ताओं के पासवर्ड को नमक करने में असफल रहे, इसलिए कई पासवर्डों को तुच्छ रूप से उलट दिया गया क्योंकि उन पासवर्डों के हैंश की गणना पहले से ही की गई है (और कई मामलों में Google के माध्यम से पाए जाते हैं)।
आपको अभी भी क्या नहीं करना चाहिए, नमक को आसानी से निर्धारित किया गया है। यदि हमलावर काम कर सकता है कि नमक क्या है, तो सभी दांव बंद हैं, क्योंकि फ्लोरियन द्वारा पोस्ट किए गए लेख में वर्णित ब्रूट फोर्स तंत्र फिर से उपलब्ध हो जाते हैं। एक अच्छा नमक लंबा होना चाहिए, और आपको प्रत्येक उपयोगकर्ता के लिए एक ही नमक का उपयोग नहीं करना चाहिए।
एमडी 5 में अब तक की एकमात्र वास्तविक कमजोरियां एक नई फाइल बनाने के तरीके हैं जो एक ही फाइल के रूप में उसी एमडी 5 डाइजेस्ट के परिणामस्वरूप प्रबंधित होती हैं, जब आप पहले से ही मूल फ़ाइल की सामग्री को जानते हैं। इसे "दूसरा प्री-इमेज अटैक" के रूप में जाना जाता है, और पासवर्ड एन्क्रिप्शन के लिए हैशिंग एल्गोरिदम के उपयोग पर विचार करते समय अप्रासंगिक है।
सभी ने कहा कि, यदि एक बेहतर एल्गोरिदम (SHA-2, bcrypt) उपलब्ध है, तो आप इसका भी उपयोग कर सकते हैं!
[*] मैं ई-कॉमर्स से संबंधित किसी भी चीज़ के लिए एमडी 5 का उपयोग नहीं करता, हालांकि!
संभावित डुप्लिकेट [PHP 40+ हैशिंग एल्गोरिदम को संभाल सकता है। तो एमडी 5 वास्तव में मानक क्यों है?] (Http://stackoverflow.com/questions/11062597/php-can-handle-40-hashing- एल्गोरिदम-so-why-is-md5-the-de-facto- मानक) – hakre