आमतौर पर, किसी पासवर्ड को रिवर्स एन्क्रिप्ट करने की कोई वास्तविक आवश्यकता नहीं होती है। उस क्षमता के होने से सिस्टम की सुरक्षा स्वाभाविक रूप से घट जाती है। इसके बजाय, अपरिवर्तनीय हैश फ़ंक्शन का उपयोग करें। मेरा सुझाव है कि SHA-256 (या बड़ा) जो एक स्ट्रिंग परिणाम उत्पन्न करता है:
SHA2 (CONCAT (user.name, user.password, 'some salt', user.id), 256)
मैंने थोक इंद्रधनुष तालिकाओं को भी निराश किया है पासवर्ड सत्यापन समय पर हमेशा ज्ञात अन्य डेटा में रोल करके किसी भी उपयोग होने से।
SHA2
MySQL 5.5 या बाद के संस्करण की आवश्यकता है। यदि आप पुराने संस्करण का उपयोग कर रहे हैं, SHA1()
लगभग उतना ही अच्छा है, और आमतौर पर MD5
. से बहुत बेहतर है , AES
, आदि.