यह जरूरी नहीं है कि आप MD5 का उपयोग न करें, जितना कि आपको सिर्फ का उपयोग नहीं करना चाहिए MD5, क्योंकि यह आपको रेनबो-टेबल हमलों के लिए असुरक्षित छोड़ देता है (एक इंद्रधनुष तालिका पूर्व-संगणित हैश मानों की एक तालिका है - यदि आपका पासवर्ड दूर से भी सामान्य या सरल है, तो हमलावर को केवल हैश को देखने की आवश्यकता है और वह आपका प्लेनटेक्स्ट पासवर्ड जानता है। )
कम से कम आपको हर पासवर्ड में एक नमक मिलाना चाहिए ताकि कोई भी मौजूदा इंद्रधनुष तालिका बेकार हो, हमलावर को केवल आपके पासवर्ड के डेटाबेस के लिए एक पूरी नई इंद्रधनुष तालिका बनाने के लिए मजबूर किया।
अपने डेटाबेस में प्रत्येक पासवर्ड के लिए एक अलग नमक का उपयोग करना बेहतर है, जैसे कि उपयोगकर्ता नाम जो इससे जुड़ा है, ताकि एक हमलावर आपके पूरे डेटाबेस के लिए एक इंद्रधनुष तालिका भी नहीं बना सके और प्रत्येक प्रविष्टि को अलग से क्रैक करना पड़े।
MD5 भी एक बहुत तेज़ एल्गोरिथम है। जब क्रैकिंग की बात आती है तो गति दुश्मन होती है - हैश उत्पन्न करने में जितना अधिक समय लगता है, हैकर द्वारा किए जाने वाले प्रत्येक प्रयास में उतना ही अधिक समय लगता है। आपकी साइट पर लॉग इन करने वाले उपयोगकर्ता के लिए हर बार एक नए अतिरिक्त नमक के साथ प्लेनटेक्स्ट को 100 बार हैशिंग करने जैसा कुछ सरल (यदि बिल्कुल भी) होगा, लेकिन इससे पासवर्ड को ब्रूट-फोर्स करने में लगने वाले समय में वृद्धि होगी। 100 बार।
दूर, यहाँ और अधिक विवरण:http://www.codinghorror.com/blog/ अभिलेखागार/000953.html