Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन (हैशलिब) का उपयोग करके सुरक्षित हैश और संदेश डाइजेस्ट


संघीय सूचना संसाधन मानक (FIPS) सुरक्षित हैश एल्गोरिदम SHA1, SHA224, SHA256, SHA384 और SHA512 को परिभाषित करता है। RSA रिवेस्ट, शमीर और एडलमैन के उपनामों के शुरुआती अक्षर से बना संक्षिप्त नाम, MD5 एल्गोरिथम को परिभाषित करता है। पुराने एल्गोरिदम को संदेश डाइजेस्ट कहा जाता था। आधुनिक शब्द सुरक्षित हैश है।

हैशलिब मॉड्यूल का उपयोग निम्नलिखित एल्गोरिदम को लागू करने के लिए किया जाता है।

  • एमडी5
  • sha1
  • sha224
  • sha256
  • sha384
  • sha512

hashlib.new(name[, data])

एक सामान्य कंस्ट्रक्टर है जो वांछित एल्गोरिथ्म के स्ट्रिंग नाम को इसके पहले पैरामीटर के रूप में लेता है। यह उपरोक्त सूचीबद्ध हैश के साथ-साथ आपकी ओपनएसएसएल लाइब्रेरी की पेशकश करने वाले किसी भी अन्य एल्गोरिदम तक पहुंच की अनुमति देने के लिए भी मौजूद है। नामित कंस्ट्रक्टर नए () की तुलना में बहुत तेज़ हैं और उन्हें प्राथमिकता दी जानी चाहिए।

>>> hash = hashlib.new('md5',b'hello')
>>> hash.hexdigest()
'5d41402abc4b2a76b9719d911017c592'
>>> import hashlib

व्यक्तिगत नामित कंस्ट्रक्टरों का उपयोग करना

>>> msg = hashlib.sha256()
>>> msg.update(b'Simple is better than complex')
>>> msg.digest()
b'\xabz\xd8C(n\xb3\x8b\xf6\x0c\x0e\xf2\x81z\xd7\xf93\x835\xb2\xa1\x9cM\xb1S\x1f\xf7\xf9\x1av-F'
>>> msg.block_size
64
>>> msg.hexdigest()
'ab7ad843286eb38bf60c0ef2817ad7f9338335b2a19c4db1531ff7f91a762d46'
>>> msg = hashlib.md5()
>>> msg.update(b'Simple is better than complex')
>>> msg.hexdigest()
'fd34bb8fafd17f1a21d7bb6e38c8dc68'

हैश ऑब्जेक्ट में निम्नलिखित तरीके होते हैं -

अद्यतन ()
हैश ऑब्जेक्ट को बाइट जैसी ऑब्जेक्ट से अपडेट करें। एम.अद्यतन (ए); m.update(b) m.update(a+b) के बराबर है।
डाइजेस्ट ()
अब तक अपडेट () विधि में पास किए गए डेटा का डाइजेस्ट लौटाएं।
हेक्सडाइजेस्ट ()
एक डाइजेस्ट को डबल लंबाई की स्ट्रिंग ऑब्जेक्ट के रूप में लौटाया जाता है, जिसमें केवल हेक्साडेसिमल अंक होते हैं।
प्रतिलिपि ()
हैश ऑब्जेक्ट की एक प्रति लौटाएं। इसका उपयोग एक सामान्य प्रारंभिक सबस्ट्रिंग साझा करने वाले डेटा के डाइजेस्ट की गणना करने के लिए किया जा सकता है।

हैशलिब निम्नलिखित विशेषताएँ प्रदान करता है -

एल्गोरिदम_गारंटीड
हैश एल्गोरिथम के नामों वाला एक सेट, जो सभी प्लेटफॉर्म पर इस मॉड्यूल द्वारा समर्थित होने की गारंटी है।
एल्गोरिदम_उपलब्ध
हैश एल्गोरिथम के नाम वाला एक सेट जो चल रहे पायथन इंटरप्रेटर में उपलब्ध है।
digest_size
परिणामी हैश का आकार बाइट्स में।
block_size
बाइट्स में हैश एल्गोरिथम का आंतरिक ब्लॉक आकार।
नाम
इस हैश का विहित नाम, हमेशा लोअरकेस और हमेशा इस प्रकार का एक और हैश बनाने के लिए नए () के पैरामीटर के रूप में उपयुक्त होता है।

शेक_128() और शेक_256() एल्गोरिदम लंबाई_इन_बिट्स//2 तक 128 या 256 बिट सुरक्षा के साथ परिवर्तनीय लंबाई डाइजेस्ट प्रदान करते हैं।

BLAKE2 RFC 7693 में परिभाषित एक क्रिप्टोग्राफ़िक हैश फ़ंक्शन है जो दो फ्लेवर में आता है -

  • BLAKE2b, 64-बिट प्लेटफ़ॉर्म के लिए अनुकूलित और 1 और 64 बाइट्स के बीच किसी भी आकार के डाइजेस्ट का उत्पादन करता है,
  • BLAKE2s, 8- से 32-बिट प्लेटफ़ॉर्म के लिए अनुकूलित और 1 और 32 बाइट्स के बीच किसी भी आकार के डाइजेस्ट का उत्पादन करता है।

  1. वेब स्क्रैपिंग अजगर और स्क्रैपी का उपयोग कर?

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

  1. पायथन का उपयोग कर एसएचए एन्कोडिंग?

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

  1. पायथन का उपयोग कर एमडी 5 हैश एन्कोडिंग?

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