security - एक पासवर्ड हैशिंग और इसे एन्क्रिप्ट करने के बीच अंतर




language-agnostic encryption (6)

वर्तमान में इस प्रश्न के लिए वोट दिया गया राज्य कहता है:

एक और जो इतना सुरक्षा मुद्दा नहीं है, हालांकि यह सुरक्षा से संबंधित है, पासवर्ड को हश करने और इसे एन्क्रिप्ट करने के बीच अंतर को कम करने में पूर्ण और पूर्ण विफलता है । आमतौर पर कोड में पाया जाता है जहां प्रोग्रामर असुरक्षित "मुझे अपना पासवर्ड याद दिलाएं" कार्यक्षमता प्रदान करने का प्रयास कर रहा है।

यह अंतर वास्तव में क्या है? मैं हमेशा इस धारणा के तहत था कि हैशिंग एन्क्रिप्शन का एक रूप था। पोस्टर का असुरक्षित कार्यक्षमता क्या है?


आदर्श रूप से आपको दोनों करना चाहिए।

पहले एक तरह से सुरक्षा के लिए पास पासवर्ड हैश। अतिरिक्त सुरक्षा के लिए नमक का प्रयोग करें।

फिर पासवर्ड हैश के आपके डेटाबेस से समझौता किया गया है, तो शब्दकोश हैश के खिलाफ बचाव के लिए हैश को एन्क्रिप्ट करें।


जैसा कि अन्य उत्तरों के रूप में सही हो सकता है, उद्धरण में था, हैशिंग एक उपकरण है जिसका उपयोग जानकारी को सुरक्षित करने में किया जा सकता है, एन्क्रिप्शन एक ऐसी प्रक्रिया है जो जानकारी लेती है और अनधिकृत लोगों को पढ़ने / उपयोग करने के लिए बहुत मुश्किल बनाती है।


यहां एक कारण है कि आप एक दूसरे को पासवर्ड पुनर्प्राप्ति का उपयोग करना चाह सकते हैं।

यदि आप केवल उपयोगकर्ता के पासवर्ड का हैश स्टोर करते हैं, तो आप 'भूल गए पासवर्ड' सुविधा की पेशकश नहीं कर सकते हैं।


हैशिंग एक तरफा कार्य है, जिसका अर्थ है कि एक बार जब आप पासवर्ड लेते हैं तो मूल पासवर्ड को हैश से वापस लेना बहुत मुश्किल होता है। एन्क्रिप्शन एक दो-तरफा फ़ंक्शन है, जहां मूल पाठ को एन्क्रिप्टेड टेक्स्ट से वापस लेना बहुत आसान है।

सादा हैशिंग को एक शब्दकोश हमले का उपयोग करके आसानी से पराजित किया जाता है, जहां एक हमलावर एक शब्दकोष में प्रत्येक शब्द को पूर्व-हर्षित करता है (या वर्णों के प्रत्येक संयोजन को एक निश्चित लंबाई तक), फिर हैश किए गए पासवर्ड देखने के लिए इस नए शब्दकोश का उपयोग करता है। प्रत्येक हैश किए गए पासवर्ड के लिए एक अद्वितीय यादृच्छिक नमक का उपयोग करके हमलावर के लिए इस विधि का उपयोग करना अधिक कठिन हो जाता है। उन्हें मूल रूप से आपके द्वारा उपयोग किए जाने वाले हर नमक मूल्य के लिए एक नया अनूठा शब्दकोश बनाने की आवश्यकता होती है, जिससे उनका हमला बहुत धीमा हो जाता है।

एन्क्रिप्शन एल्गोरिदम का उपयोग करके पासवर्ड स्टोर करना असुरक्षित है क्योंकि अगर उपयोगकर्ता या व्यवस्थापक को एन्क्रिप्टेड टेक्स्ट से मूल पासवर्ड प्राप्त करना आसान होता है, तो हमलावर के लिए ऐसा करना भी आसान होता है।


हैशिंग एल्गोरिदम आमतौर पर प्रकृति में क्रिप्टोग्राफिक होते हैं, लेकिन मुख्य अंतर यह है कि एन्क्रिप्शन डिक्रिप्शन के माध्यम से उलटा होता है, और हैशिंग नहीं है।

एक एन्क्रिप्शन फ़ंक्शन आमतौर पर इनपुट लेता है और एन्क्रिप्टेड आउटपुट उत्पन्न करता है जो समान होता है, या थोड़ा बड़ा आकार होता है।

एक हैशिंग फ़ंक्शन इनपुट लेता है और आमतौर पर एक निश्चित आकार का उत्पादन करता है, आमतौर पर एक निश्चित आकार के साथ भी।

हालांकि मूल इनपुट वापस लेने के लिए एक धोया हुआ परिणाम और "dehash" करना संभव नहीं है, लेकिन आप आम तौर पर एक ही हैश उत्पन्न करने वाले किसी चीज़ के लिए अपना रास्ता मजबूर कर सकते हैं।

दूसरे शब्दों में, यदि एक प्रमाणीकरण योजना पासवर्ड लेती है, तो उसे धोखा देती है, और इसे पासवर्ड की आवश्यकता वाले शेड संस्करण से तुलना करता है, यह आवश्यक नहीं है कि आप वास्तव में मूल पासवर्ड, केवल इसके हैश को जानते हों, और आप क्रूर-बल कर सकते हैं कुछ ऐसा करने का तरीका जो मेल करेगा, भले ही यह एक अलग पासवर्ड हो।

हैशिंग फ़ंक्शंस आमतौर पर टकराव के अवसर को कम करने के लिए बनाए जाते हैं और कुछ ऐसी गणना करने में कठिनाई होती है जो एक ही हैश का उत्पादन किसी और चीज के रूप में करेगी।


हैशिंग :

यह एक तरफा एल्गोरिदम है और एक बार धोया रोलबैक नहीं कर सकता है और यह एन्क्रिप्शन के खिलाफ इसका मीठा बिंदु है।

एन्क्रिप्शन

अगर हम एन्क्रिप्शन करते हैं, तो ऐसा करने के लिए एक कुंजी होगी। यदि यह कुंजी लीक हो जाएगी तो आपके सभी पासवर्ड आसानी से डिक्रिप्ट किए जा सकते हैं।

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

यदि आप देखना चाहते हैं कि आप अपने हैश फ़ंक्शन कैसे लिखना चाहते here , तो आप here जा सकते here

हैशिंग करने के लिए कई एल्गोरिदम हैं।

  1. एमडी 5 - संदेश डाइजेस्ट एल्गोरिदम 5 (एमडी 5) हैश फ़ंक्शन का उपयोग करता है। आउटपुट हैश 128 बिट्स लंबाई में है। एमडी 5 एल्गोरिदम को 1 99 0 के दशक के शुरू में रॉन रिवेस्ट द्वारा डिजाइन किया गया था और आज एक पसंदीदा विकल्प नहीं है।

  2. SHA1 - 1995 में प्रकाशित सुरक्षा हैश एल्गोरिदम (SHA1) हैश का उपयोग करता है। आउटपुट हैश लंबाई में 160 बिट्स है। हालांकि सबसे व्यापक रूप से उपयोग किया जाता है, यह आज एक पसंदीदा विकल्प नहीं है।

  3. एचएमएसीएसएच 256 , एचएमएसीएसएच 384 , एचएमएसीएसएएच 512 - SHA-256, SHA-384, और SHA-2 परिवार के SHA-512 कार्यों का उपयोग करें। एसएचए -2 2001 में प्रकाशित हुआ था। आउटश हैश लंबाई क्रमश: 256, 384, और 512 बिट्स हैं, क्योंकि हैश फ़ंक्शन के नाम इंगित करते हैं।





passwords