मैं Play 1.2.1 का उपयोग कर रहा हूं। मैं अपने उपयोगकर्ता पासवर्ड हैश करना चाहता हूँ। मैंने सोचा कि Crypto.passwordHash
अच्छा होगा, लेकिन ऐसा नहीं है। पासवर्ड हैश दस्तावेज कहता है कि यह एमडी 5 पासवर्ड हैश देता है। मैं स्थिरता में कुछ उपयोगकर्ता खातों, जहां मैं md5 पासवर्ड हैश डाल बनाया:प्ले करें! हैश पासवर्ड खराब परिणाम देता है
...
User(admin):
login: admin
password: f1682b54de57d202ba947a0af26399fd
fullName: Administrator
...
समस्या यह है, जब मैं कुछ इस तरह के साथ, में लॉग इन करने का प्रयास करें:
user.password.equals(Crypto.passwordHash(password))
और यदि ऐसा नहीं होता काम। तो मैं अपने autentify
विधि में एक लॉग बयान डाल:
Logger.info("\nUser hashed password is %s " +
"\nPassed password is %s " +
"\nHashed passed password is %s",
user.password, password, Crypto.passwordHash(password));
और पासवर्ड हैश वास्तव में अलग हैं, लेकिन हे!
15:02:16,164 INFO ~
User hashed password is f1682b54de57d202ba947a0af26399fd
Passed password is <you don't have to know this :P>
Hashed passed password is 8WgrVN5X0gK6lHoK8mOZ/Q==
कैसे उस के बारे में: passwordHash
विधि के उत्पादन में भी एक MD5 हैश नहीं है? इसे कैसे जोड़ेंगे? या शायद मुझे अपना खुद का समाधान लागू करना है?
बीटीडब्ल्यू पासवर्ड के लिए सरल MD5-Hash का उपयोग करने के लिए यह बहुत चालाक नहीं है। इसके अलावा कम से कम एक नमक होना चाहिए। – niels
@niels - मुझे पता है, लेकिन यह सीखने के लिए सिर्फ एक साधारण नमूना परियोजना है! – jjczopek
मुझे लगता है कि आपको नीचे दिए गए लिंक में जवाब पसंद हो सकता है, यह सुझाव देता है कि जावा http: // stackoverflow में md5 का उपयोग कैसे करें।कॉम/प्रश्न/415 9 53/जेनरेट-एमडी 5-हैश-इन-जावा – engin