पासवर्ड को सुरक्षित रूप से स्टोर करने के सर्वोत्तम तरीकों में से एक है नमक और उन्हें हैश करना। साल्टिंग और हैशिंग एक सादे पासवर्ड को एक अद्वितीय मान में बदल देता है जिसे उलटना मुश्किल है। bcrypt लाइब्रेरी आपको बहुत कम प्रयास से Node.js में हैश और सॉल्ट पासवर्ड देता है।

पासवर्ड हैशिंग क्या है?

पासवर्ड हैशिंग इसका अर्थ है एक अद्वितीय मूल्य उत्पन्न करने के लिए हैशिंग एल्गोरिदम के माध्यम से एक सादा पाठ पासवर्ड पास करना। हैशिंग एल्गोरिदम के कुछ उदाहरण bcrypt, scrypt, और SHA हैं। हैशिंग का नकारात्मक पक्ष यह है कि यह अनुमानित है।

हर बार जब आप एक ही इनपुट को हैशिंग एल्गोरिदम में पास करते हैं, तो यह वही आउटपुट उत्पन्न करेगा। हैश किए गए पासवर्ड तक पहुंच वाला एक हैकर मूल पासवर्ड प्राप्त करने के लिए एन्क्रिप्शन को रिवर्स इंजीनियर कर सकता है। वे इस तरह की तकनीकों का उपयोग कर सकते हैं: पाशविक बल के हमले या इंद्रधनुष टेबल। यह वह जगह है जहाँ नमकीन आता है।

पासवर्ड साल्टिंग क्या है?

पासवर्ड नमकीन पासवर्ड को हैश करने से पहले एक यादृच्छिक स्ट्रिंग (नमक) जोड़ता है। इस तरह, उत्पन्न हैश हमेशा हर बार अलग होगा। यहां तक ​​​​कि अगर कोई हैकर हैशेड पासवर्ड प्राप्त करता है, तो उसके लिए इसे उत्पन्न करने वाले मूल पासवर्ड की खोज करना अव्यावहारिक है।

instagram viewer

हैश करने के लिए bcrypt का उपयोग कैसे करें और पासवर्ड सत्यापित करें

बीक्रिप्ट एक npm मॉड्यूल है जो पासवर्ड सॉल्टिंग और हैशिंग को सरल करता है।

चरण 1: bcrypt स्थापित करें

एनपीएम का उपयोग करना:

NPM इंस्टॉल बीक्रिप्ट

यार्न का उपयोग करना:

यार्न bcrypt जोड़ें

चरण 2: बीक्रिप्ट आयात करें

स्थिरांक बीक्रिप्ट = ज़रूरत होना("बीक्रिप्ट")

चरण 3: एक नमक उत्पन्न करें

नमक उत्पन्न करने के लिए कॉल करें bcrypt.genसाल्ट () तरीका। यह विधि एक पूर्णांक मान को स्वीकार करती है जो लागत कारक है जो एक पासवर्ड हैश करने में लगने वाले समय को निर्धारित करता है। लागत कारक जितना अधिक होगा, एल्गोरिथ्म में उतना ही अधिक समय लगेगा और पाशविक बल का उपयोग करके हैश को उलटना उतना ही कठिन होगा। एक अच्छा मूल्य पासवर्ड को सुरक्षित करने के लिए पर्याप्त उच्च होना चाहिए, लेकिन प्रक्रिया को धीमा न करने के लिए भी कम होना चाहिए। यह आमतौर पर 5 और 15 के बीच होता है। इस ट्यूटोरियल में, हम 10 का उपयोग करेंगे।

bcrypt.genSalt (10, (गलती, नमक) => {
// उपयोगनमककोहैशपासवर्ड
})

चरण 4: पासवर्ड हैश करें

सादे पासवर्ड और उत्पन्न नमक को पास करें हैश () तरीका:

bcrypt.genSalt (10, (गलती, नमक) => {
bcrypt.hash (सादा टेक्स्ट पासवर्ड, नमक, समारोह(गलती, हैश) {
// डेटाबेस में हैश स्टोर करें
});
})

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

नमक और हैश को अलग-अलग बनाने के बजाय, आप एक ही फ़ंक्शन का उपयोग करके नमक और हैश को स्वतः उत्पन्न कर सकते हैं।

bcrypt.hash (सादा टेक्स्ट पासवर्ड, 10, समारोह(गलती, हैश) {
// डेटाबेस में हैश स्टोर करें
});

चरण 5: bcrypt का उपयोग करके पासवर्ड की तुलना करें

सेवा उपयोगकर्ताओं को प्रमाणित करें, आपको उनके द्वारा प्रदान किए गए पासवर्ड की तुलना डेटाबेस में दिए गए पासवर्ड से करनी होगी। बीक्रिप्ट.तुलना () कॉलबैक फ़ंक्शन के साथ, सादा पाठ पासवर्ड और आपके द्वारा संग्रहीत हैश स्वीकार करता है। वह कॉलबैक किसी ऑब्जेक्ट की आपूर्ति करता है जिसमें कोई त्रुटि होती है, और तुलना से समग्र परिणाम होता है। यदि पासवर्ड हैश से मेल खाता है, तो परिणाम सत्य है।

bcrypt.compare (सादा टेक्स्ट पासवर्ड, हैश, समारोह(गलती, परिणाम) {
अगर (परिणाम) {
// पासवर्ड मान्य है
}
});

Async/प्रतीक्षा का उपयोग करना

आप निम्न प्रकार से async/प्रतीक्षा का उपयोग करके पासवर्ड हैश और सत्यापित कर सकते हैं।

अतुल्यकालिकसमारोहहैशपासवर्ड(सादा पाठपासवर्ड) {
स्थिरांक हैश = इंतजार bcrypt.hash (सादा टेक्स्ट पासवर्ड, 10);
// डेटाबेस में हैश स्टोर करें
}

// पासवर्ड की तुलना करें
अतुल्यकालिकसमारोहपासवर्ड की तुलना करें(प्लेनटेक्स्टपासवर्ड, हैश) {
स्थिरांक परिणाम = इंतजार bcrypt.compare (सादा टेक्स्ट पासवर्ड, हैश);
वापसी नतीजा;
}

वादों का उपयोग करना

bcrypt पुस्तकालय वादों के उपयोग का भी समर्थन करता है।

समारोहहैशपासवर्ड(सादा पाठपासवर्ड) {
बीक्रिप्टहाश(सादा पाठपासवर्ड, 10)
तब (हैश => {
// डेटाबेस में हैश स्टोर करें
})
.पकड़(गलती => {
सांत्वना देनालॉग (गलती)
})
}

समारोहपासवर्ड की तुलना करें(प्लेनटेक्स्टपासवर्ड, हैश) {
बीसीआरपीटी।तुलना करना(सादा पाठपासवर्ड, हैश)
तब (परिणाम => {
वापसी नतीजा
})
.पकड़(गलती => {
सांत्वना देनालॉग (गलती)
})
}

हैशिंग और साल्टिंग एक आसान जीत है

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

पासवर्ड हैक करने के लिए इस्तेमाल की जाने वाली 8 सबसे आम तरकीबें

आगे पढ़िए

साझा करनाकलरवसाझा करनाईमेल

संबंधित विषय

  • प्रोग्रामिंग
  • सुरक्षा
  • प्रोग्रामिंग
  • जावास्क्रिप्ट
  • सुरक्षा
  • एल्गोरिदम

लेखक के बारे में

मैरी गैथोनी (21 लेख प्रकाशित)

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

मैरी गैथोनि. की और फ़िल्में या टीवी शो

हमारे समाचार पत्र के सदस्य बनें

तकनीकी युक्तियों, समीक्षाओं, निःशुल्क ई-पुस्तकों और अनन्य सौदों के लिए हमारे न्यूज़लेटर से जुड़ें!

सब्सक्राइब करने के लिए यहां क्लिक करें