SHA1 या SHA256 का उपयोग न करें , जैसा कि अधिकांश अन्य लोग सुझाव दे रहे हैं। निश्चित रूप से MD5 का उपयोग न करें ।
SHA1/256 और MD5 दोनों को फाइलों और स्ट्रिंग्स (और अन्य डेटाटाइप, यदि आवश्यक हो) के चेकसम बनाने के लिए डिज़ाइन किया गया है। इस वजह से, उन्हें यथासंभव तेज़ होने के लिए डिज़ाइन किया गया है, ताकि चेकसम शीघ्रता से उत्पन्न हो।
यह तेज़ गति पासवर्ड को ब्रूटफोर्स करना बहुत आसान बनाती है, क्योंकि एक अच्छी तरह से लिखा गया प्रोग्राम आसानी से हर सेकेंड में हजारों हैश उत्पन्न कर सकता है।
इसके बजाय, एक धीमी एल्गोरिथम का उपयोग करें जो विशेष रूप से पासवर्ड के लिए डिज़ाइन किया गया है। वे उत्पन्न करने के लिए थोड़ा अधिक समय लेने के लिए डिज़ाइन किए गए हैं, उल्टा यह है कि ब्रूटफोर्स हमले बहुत कठिन हो जाते हैं। इस वजह से, पासवर्ड अधिक सुरक्षित होंगे।
यदि आप एक समय में केवल एक ही पासवर्ड को एन्क्रिप्ट करना चाहते हैं, तो आपको किसी भी महत्वपूर्ण प्रदर्शन नुकसान का अनुभव नहीं होगा, जो कि पासवर्ड को संग्रहीत करने और जांचने का सामान्य कार्यान्वयन है। यह केवल थोक में होता है जहां वास्तविक अंतर होता है।
मुझे व्यक्तिगत रूप से bcrypt पसंद है। इसका एक पर्ल संस्करण उपलब्ध होना चाहिए, क्योंकि त्वरित Google खोज से कई संभावित मिलान मिले।