मेरे पास दो अनुप्रयोग हैं, एक लैरवेल 5.2 में से एक और उल्का में से एक है। मैं पासवर्ड के लिए हैश इकट्ठा करना चाहता हूं जो दोनों प्लेटफार्मों के अनुकूल हैं।लैरवेल और उल्का पासवर्ड हैशिंग
डेटाबेस Laravel के लिए अलग से
password
हैश संग्रहीत करता है।meteor_password
उल्का के लिए।
दोनों प्लेटफॉर्म डिफ़ॉल्ट रूप से 10 राउंड के साथ bcrypt का उपयोग करते हैं, लेकिन उल्का bcrypt से पहले सादे पासवर्ड sha256 प्रतीत होता है।
उल्का पासवर्ड हैश abc
बनाता है, मैं सादे पासवर्ड SHA256 सकते हैं, और Laravel के internals का उपयोग कर abc
से इसकी तुलना करें, अर्थात Auth::attempt()
$sha256 = hash('sha256', $request->get('password'), false);
यह काम करता है। Laravel सफलतापूर्वक उपयोगकर्ता को प्रमाणित करता है।
हालांकि, अगर मैं लार्वेल में एक नया उपयोगकर्ता पंजीकृत करता हूं, और हैश meteor_password
स्टोर करता हूं, तो मेटर में उस हैश के खिलाफ प्रमाणीकरण करते समय, यह त्रुटि संदेश "लॉगिन निषिद्ध" में विफल रहता है। This error appears to be mean incorrect credentials.
मैं उसी तरह से हैश बना रहा हूं जैसा मैंने लारवेल में सत्यापित किया था।
$meteor_password = bcrypt(hash('sha256', $plain, false));
यह अजीब लगता है कि यह एक तरह से काम करेगा और दूसरा नहीं तो मुझे लगता है कि मुझे कुछ याद आ रही है।
स्पॉट ऑन, अपेक्षित काम करता है। लिंक के लिए धन्यवाद; दिलचस्प पढ़ता है। –
ग्रेट। बीटीडब्ल्यू, "लागत" कारक घातीय है, इसलिए 10 की लागत वास्तव में, (2^10 =) 1024 राउंड, 10 नहीं है :) – MasterAM