2013-10-14 8 views
6

पासवर्ड एन्क्रिप्शन एल्गोरिथ्म और Glassfish 4 में डाइजेस्ट एल्गोरिथ्म के बीच क्या अंतर है? क्योंकि पासवर्ड एन्क्रिप्शन एल्गोरिदम खाली नहीं हो सकता है, मैंने MD5 का उपयोग किया, और एन्कोडिंग, हेक्स के लिए। डाइजेस्ट एल्गोरिदम खाली है, इसलिए डिफ़ॉल्ट SHA-256 है।Glassfish 4 - JDBC क्षेत्र

लेकिन अगर मैंने जेएएएस के साथ एक साधारण लॉगिन एप्लिकेशन बनाया है, और टेबल बनाते हैं, तो एक उपयोगकर्ता डालें, और पासवर्ड MD5 के साथ एन्क्रिप्ट किया गया है, उपयोगकर्ता लॉग इन नहीं कर सकता है। अगर मैं SHA-256 के साथ पासवर्ड एन्क्रिप्ट करता हूं, तो उपयोगकर्ता लॉग इन कर सकते।

तो, पासवर्ड एन्क्रिप्शन एल्गोरिथ्म क्षेत्र क्या है?

+0

मुझे 4.0 से 4.1.1 तक माइग्रेशन के साथ समस्या हो रही है http://stackoverflow.com/questions/40686737/migration-from-glassfish-4-0-to-glassfish-4-1-1-jdbc-realm -issue – Bikram

+0

SHA-256 MD5 की तुलना में पासवर्ड सत्यापनकर्ता के लिए केवल मामूली बेहतर है, न ही इसका उपयोग किया जाना चाहिए। एक हैश फ़ंक्शन का उपयोग करके पासवर्ड सत्यापनकर्ता को सहेजते समय पर्याप्त नहीं है और केवल नमक जोड़ने से सुरक्षा में सुधार होता है। इसके बजाय 'PBKDF2',' Rfc2898DeriveBytes', 'Argon2', 'password_hash',' Bcrypt' या इसी तरह के फ़ंक्शंस जैसे फ़ंक्शन का उपयोग करें। मुद्दा यह है कि हमलावर ब्रूट फोर्स द्वारा पासवर्ड खोजने में पर्याप्त समय बिताता है। – zaph

उत्तर

2

प्रलेखन इस मुद्दे पर बहुत स्पष्ट नहीं है, लेकिन मेरी व्याख्या इस प्रकार है। यह Glassfish v4 reference manual पर आधारित है।

पासवर्ड एन्क्रिप्शन एल्गोरिदम निर्धारित करता है कि पासवर्ड आपके डेटाबेस के भीतर कैसे एन्क्रिप्ट किया गया है। यह पैरामीटर digestrealm-password-enc-algorithm है। आप वास्तव में इस सेट को कुछ करना चाहते हैं क्योंकि स्पष्ट रूप से डेटाबेस में पासवर्ड छोड़ना एक सुरक्षा छेद है।

किसी प्रमाणित करने के लिए कोशिश करता है, glassfish तुलना करने के लिए क्या क्या डेटाबेस में है करने के लिए प्रस्तुत की गई थी एक तरह से की जरूरत है। लेकिन, चूंकि बाद वाला सभी लॉक हो गया है, इसे अनलॉक करने के लिए एक कुंजी की आवश्यकता है। उस कुंजी पर उपयोग की जाने वाली एन्क्रिप्शन (कड़ाई से, हैशिंग) जिसे डाइजेस्ट एल्गोरिदम (पैरामीटर digest-algorithm) में परिभाषित किया गया है। यह v4 में SHA-256 के लिए डिफ़ॉल्ट है (पहले, यह MD5 था)।

0

तो, पासवर्ड एन्क्रिप्शन एल्गोरिथ्म क्षेत्र क्या है? जबकि पासवर्ड एन्क्रिप्शन एल्गोरिथ्म डाटाबेस से पासवर्ड डिक्रिप्ट करने के लिए प्रयोग किया जाता है

डाइजेस्ट एल्गोरिथ्म, एन्क्रिप्ट करने के लिए/हैश लॉगिन अनुरोध किया जाता है।

लेकिन अगर मैं JAAS के साथ एक सरल लॉगिन आवेदन किया जाता है, और, टेबल बना एक उपयोगकर्ता डालें, और पासवर्ड MD5 के साथ एन्क्रिप्टेड है, उपयोगकर्ता प्रवेश नहीं कर सकते।

रखें MD5 पासवर्ड एन्क्रिप्शन फ़ील्ड में, और डाइजेस्ट एल्गोरिदम खाली छोड़ दें (डिफ़ॉल्ट रूप से, यह ग्लासफ़िश 4 में शा -256 है)।

+0

मैंने यह किया, लेकिन अगर मैं लॉग इन करना चाहता हूं, तो यह काम नहीं कर रहा है। तो क्या? लेकिन अगर मैं पासवर्ड फ़ील्ड को SHA-256 एन्कोडेड पासवर्ड में बदलता हूं, तो यह काम कर रहा है। – galovics

+0

हाय, क्या आपने इसे हल करने का प्रबंधन किया था? क्या आप एमडी 5 दोनों जगहों पर रख सकते हैं और पुनः प्रयास कर सकते हैं? (एमडी 5 डेटाबेस में पासवर्ड धोया है)। शा-256 और MD5 दोनों encryptions ग्लासफिश OSE 4.0 और MySQL के साथ यहाँ ठीक काम कर रहे हैं,। वैसे भी, यदि यह SHA-256 के साथ काम कर रहा है तो आपको इसके साथ रहना चाहिए क्योंकि 20 प्लेस्टेशन से बने क्लस्टर की शक्ति के साथ एमडी 5 हैश टेक्स्ट को क्रैक किया गया है .. SHA-256 'सुरक्षित' है क्योंकि इसे डिक्रिप्ट करने में अधिक समय लगता है यह। –

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