पासवर्ड एन्क्रिप्शन उपयोगकर्ताओं के पासवर्ड को मास्क कर देता है ताकि उनका अनुमान लगाना या डिकोड करना मुश्किल हो जाए। सुरक्षित उपयोगकर्ता-आधार सॉफ़्टवेयर विकसित करने की दिशा में यह एक आवश्यक कदम है। चाहे आप फ्लास्क या किसी अन्य लाइट पायथन फ्रेमवर्क के साथ एक का निर्माण कर रहे हों, आप उस चरण को अनदेखा नहीं कर सकते। यहीं से bcrypt आता है।

हम आपको दिखाएंगे कि पायथन में अपना पासवर्ड हैश करने के लिए bcrypt का उपयोग कैसे करें।

बीक्रिप्ट कैसे काम करता है

Bcrypt एक भाषा-अज्ञेय हैशिंग लाइब्रेरी है जो अद्वितीय पासवर्ड एन्क्रिप्शन प्रदान करती है। आपकी स्ट्रिंग को एन्क्रिप्ट करते समय, यह आपके पासवर्ड की सुरक्षा को बढ़ाने के लिए डिफ़ॉल्ट रूप से अतिरिक्त यादृच्छिक वर्ण (नमक) उत्पन्न करता है।

वैकल्पिक रूप से, आप उन अतिरिक्त वर्णों की संख्या भी निर्दिष्ट कर सकते हैं जिन्हें आप आने वाली स्ट्रिंग में जोड़ना चाहते हैं।

Thebcrypt लाइब्रेरी केवल रॉ स्ट्रिंग्स-बाइट कोड नहीं पढ़ती है। तो शुरू करने के लिए, आप पहले आने वाली पासवर्ड स्ट्रिंग को एन्क्रिप्ट करने के लिए bcrypt में पास करने से पहले एन्कोड करेंगे।

एन्कोडिंग एन्क्रिप्ट करने के समान नहीं है। यह केवल यह सुनिश्चित करता है कि एक एन्क्रिप्शन एल्गोरिथ्म इसे मास्क करने से पहले एक स्ट्रिंग मशीन-पठनीय हो जाए।

instagram viewer

पायथन में पासवर्ड एन्क्रिप्ट करना bcrypt के साथ

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

bcrypt स्थापित करें और सेट करें

यदि आपने पहले से ऐसा नहीं किया है, एक पायथन आभासी वातावरण सक्रिय करें आपके प्रोजेक्ट रूट में। फिर bcrypt का उपयोग करके स्थापित करें रंज:

पाइप स्थापित करें bcrpyt

पासवर्ड एन्क्रिप्ट करना प्रारंभ करें

एक बार इंस्टॉल हो जाने पर, आइए देखें कि bcrypt का उपयोग करके स्ट्रिंग को कैसे एन्क्रिप्ट किया जाए:

# बीक्रिप्ट आयात करें:
आयात बीक्रिप्ट
पासवर्ड = "मायपासवर्डस्ट्रिंग"
# पासवर्ड को पढ़ने योग्य utf-8 बाइट कोड में एन्कोड करें:
पासवर्ड = पासवर्ड। एनकोड ('utf-8')
# ईकोडेड पासवर्ड को हैश करें और नमक उत्पन्न करें:
हैशेडपासवर्ड = bcrypt.hashpw (पासवर्ड, bcrypt.gensalt ())
प्रिंट (हैशेड पासवर्ड)

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

यह पासवर्ड एन्क्रिप्शन के लिए है, वैसे।

bcrypt के साथ पासवर्ड की तुलना और पुष्टि कैसे करें

क्या होगा यदि आप हैशेड पासवर्ड को स्टोर करना चाहते हैं और बाद में पुष्टि करना चाहते हैं कि यह प्रमाणीकरण के दौरान उपयोगकर्ता द्वारा प्रदान किए गए पासवर्ड से मेल खाता है?

वह सरल है। आपको केवल प्रमाणीकरण पासवर्ड की तुलना डेटाबेस में संग्रहीत (या इस मामले में स्मृति में) के साथ करने की आवश्यकता है।

और चूंकि bcrypt केवल बाइट स्ट्रिंग्स को पढ़ता है, इसलिए आपको प्रमाणीकरण पासवर्ड को डेटाबेस में मौजूद पासवर्ड से तुलना करने से पहले एन्कोड करना होगा। संक्षेप में, आप अपने डेटाबेस में पहले से संग्रहीत एन्कोडेड हैशेड पासवर्ड के साथ एक एन्कोडेड प्रमाणीकरण इनपुट को क्रॉस-चेक करेंगे।

डमी पायथन इनपुट का उपयोग करते हुए, आइए देखें कि यह व्यवहार में कैसे काम करता है:

आयात बीक्रिप्ट
#अपना पासवर्ड स्टोर करें:
पासवर्ड = str (इनपुट ("इनपुट पासवर्ड:"))
# स्टोर किए गए पासवर्ड को एनकोड करें:
पासवर्ड = पासवर्ड। एनकोड ('utf-8')
# संग्रहीत पासवर्ड एन्क्रिप्ट करें:
हैशेड = bcrypt.hashpw (पासवर्ड, bcrypt.gensalt (10))
# उपयोगकर्ता सही पासवर्ड दर्ज करता है या नहीं यह जांचने के लिए एक प्रमाणीकरण पासवर्ड इनपुट फ़ील्ड बनाएं:
चेक = str (इनपुट ("पासवर्ड जांचें:"))
# ऑथेंटिकेशन पासवर्ड को भी एनकोड करें:
चेक = चेक.एनकोड ('utf-8')
# संग्रहीत पासवर्ड के साथ प्रमाणीकरण पासवर्ड की तुलना करने के लिए शर्तों का उपयोग करें:
अगर bcrypt.checkpw (चेक, हैशेड):
प्रिंट ("लॉगिन सफल")
अन्यथा:
प्रिंट ("गलत पासवर्ड")

जब आप इसे निष्पादित करते हैं तो उपरोक्त कोड आपको एक नया पासवर्ड इनपुट करने के लिए कहता है। पायथन इसे मेमोरी में स्टोर करता है। फिर आप प्रमाणीकरण फ़ील्ड में वही पासवर्ड (केवल आपको ज्ञात) प्रदान करेंगे।

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

पूरी अवधारणा पंजीकरण के दौरान डेटाबेस में पासवर्ड संग्रहीत करने और बाद में प्रमाणीकरण के दौरान इसे प्रदान करने जैसी ही है।

बीक्रिप्ट के साथ एन्क्रिप्शन स्केल अप करें

जबकि हमने केवल यह दिखाया है कि कैसे bcrypt एन्क्रिप्टेड पासवर्ड को सादे पायथन शॉर्ट मेमोरी में संग्रहीत करके काम करता है, इसका अंतिम उपयोग वास्तविक जीवन के उपयोगकर्ता-आधार अनुप्रयोगों में होता है।

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

12 बुनियादी एन्क्रिप्शन शर्तें अब तक सभी को पता होनी चाहिए

हर कोई एन्क्रिप्शन के बारे में बात कर रहा है, लेकिन खुद को खोया हुआ या भ्रमित पा रहा है? यहां कुछ प्रमुख एन्क्रिप्शन शब्द दिए गए हैं जिन्हें आपको जानना आवश्यक है।

आगे पढ़िए

साझा करनाकलरवईमेल
संबंधित विषय
  • प्रोग्रामिंग
  • अजगर
  • प्रोग्रामिंग
  • सुरक्षा
लेखक के बारे में
इडोवु ओमिसोला (116 लेख प्रकाशित)

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

Idowu Omisola. की और फ़िल्में या टीवी शो

हमारे न्यूज़लेटर की सदस्यता लें

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

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