हैश विधि और नमक सेट करने के लिए setCredentialTreatment
के साथ Zend_Auth
का उपयोग कर रहा हूं। मैं इस तरह कुछ ऐसा करने वाले सभी उदाहरण देखता हूं, जहां salt
टेक्स्ट के रूप में डाला जाता है।Zend_Auth setCredentialTreatment
-।> SetCredentialTreatment ('? SHA1 (concat (नमक))'
लेकिन मेरे नमक डेटाबेस में संग्रहीत किया जाता है मैं इसे पहले तो पुनः प्राप्त कर सकता है setCredentialTreatment
में इसका इस्तेमाल करते हैं, लेकिन वहाँ एक है जिस तरह से मैं एक क्षेत्र नाम के रूप में इसे सीधे निर्धारित कर सकते हैं, तो setCredentialTreatment
कि क्षेत्र से इसे पाने के लिए पता होगा? एक तरह से जिस तरह से जैसे हम फ़ील्ड नाम उपयोगकर्ता नाम या पासवर्ड
->setCredentialColumn('password')
एक ओर मुद्दा मैं कर रहा हूँ के लिए परिभाषित यह है कि मैं SHA512 का उपयोग करना चाहता हूं SHA1 नहीं। क्या यह संभव है या यह उपलब्ध नहीं है? SHA1 का उपयोग करके देखे जाने वाले सभी उदाहरण।
मुझे कहना चाहिए कि मैं ज़ेंड करने के लिए काफी नया हूं और मौजूदा एप्लिकेशन को पोर्ट कर रहा हूं, इसलिए कृपया उत्तर के साथ मेरे लिए आसान हो जाएं।
पीएचपी हैश विस्तार के माध्यम से SHA512 समर्थन हासिल है: हैश ('SHA512', 'हैश करने के लिए कुछ पाठ') ; –
असल में मूल PHP में मैं 'हैश_हैमैक ('sha512') का उपयोग करता हूं, लेकिन इसके लिए एक नए एडाप्टर को ओवरकिल परिभाषित नहीं कर रहा है। कोड के कितने लाइन नए एडाप्टर को परिभाषित करेंगे? मैं लिंक किए गए पेज से नहीं बता सका क्योंकि वे कोड को छोटा कर रहे हैं। – jblue
PHP में हैशिंग करने के लिए पहले नमक को लोड करने की दो-चरणीय प्रक्रिया है जो आपकी आवश्यकता को थोड़ा सा कस्टम बनाती है। आप Zend_Auth_Adapter_DbTable का विस्तार कर सकते हैं ताकि अधिक कोड की आवश्यकता न हो। मैंने अपना उत्तर शुरू करने के लिए एक उदाहरण के साथ संपादित किया है - कोड पूरी तरह से अनचाहे है। $ हैश = '' बदलें; अपने hash_hmac() कोड के साथ भाग लें। –