2012-05-16 17 views
7

हम किसी उपयोगकर्ता का पासवर्ड पुनर्प्राप्त कैसे करते हैं?django में पासवर्ड पुनर्प्राप्त कैसे करें

u = User.objects.get(username__exact=username) 
print u.password 

प्रदर्शित करता है sha1$f0971$441cac8f604d49869e33ca125a76253a02fef64e

वहाँ एक समारोह इस इनकोडिंग स्ट्रिंग से पासवर्ड को खोजने के है?

+0

जब उपयोगकर्ता पासवर्ड भूल गए लिंक पर क्लिक करता है तो मुझे पासवर्ड ईमेल करने की आवश्यकता होती है। लेकिन चूंकि यह असंभव है कि कामकाज क्या है? – John

+2

पासवर्ड रीसेट करने के लिए अंतर्निहित कार्यक्षमता का उपयोग करें - यानी मूल ईमेल करने के बजाय एक नया बनाएं। –

+0

मैंने इस सुविधा को प्रदान करने वाली कई वेबसाइटें देखी हैं। दुख की बात है, django एक कामकाज प्रदान नहीं करता – John

उत्तर

17

नहीं। यह डिज़ाइन द्वारा असंभव है। लेकिन वैसे भी इसे करने की आवश्यकता नहीं होनी चाहिए।

2

संख्या। और वहां नहीं होना चाहिए। सुरक्षा के भाग के रूप, पासवर्ड एक-तरफ़ा समारोह के माध्यम से, यदि डेटाबेस

समझौता किया है आप क्या कर सकते है पारित कर रहे हैं इससे पहले कि वे सहेजे जाते हैं ताकि वे reveled नहीं कर रहे हैं एक के साथ उपयोगकर्ता का पासवर्ड की जगह आप जानना। इस तरह (अच्छी) साइट "आपका पासवर्ड भूल गया" कार्य करता है: वे आपको एक नया यादृच्छिक पासवर्ड भेजते हैं, न कि आपके पुराने, क्योंकि उन्हें (0) नहीं होना चाहिए, क्योंकि उन्हें (0) नहीं होना चाहिए

7

सुरक्षा प्रतिबंधों के कारण पासवर्ड हैश विधि एक तरीका है। आपको उस उपयोगकर्ता पासवर्ड को रीसेट करने की आवश्यकता होगी।

उपयोगकर्ता को नया पासवर्ड देने के लिए set_password(raw_password) विधि का उपयोग करने का प्रयास करें। डेटाबेस में परिवर्तन को सहेजने के लिए save() विधि को कॉल करना याद रखें।

u = User.objects.get(username__exact=username) 
u.set_password(raw_password) 
u.save() 
2

नहीं, फ़ील्ड में पासवर्ड का नमकीन हैश है। स्ट्रिंग से हम जानते हैं कि यह SHA1 फ़ंक्शन है। यदि आपके पास पासवर्ड है, तो आप उसी हैश मान का उत्पादन करने में सक्षम होंगे जो पदचिह्न के रूप में कार्य करता है। सुरक्षा कारण के लिए अब एक आर्थिक साधनों में पासवर्ड पुनर्प्राप्त करने का तरीका होना चाहिए (आप अभी भी बलपूर्वक बल दे सकते हैं, लेकिन इसमें अधिक समय लगेगा)।

संबंधित मुद्दे