खोज…


परिचय

हैशलीब कई अलग-अलग सुरक्षित हैश और संदेश डाइजेस्ट एल्गोरिदम के लिए एक सामान्य इंटरफ़ेस लागू करता है। शामिल हैं सुरक्षित सेकेंड हैश एल्गोरिदम SHA1, SHA224, SHA256, SHA384, और SHA512।

MD5 एक स्ट्रिंग का हैश

यह मॉड्यूल कई अलग-अलग सुरक्षित हैश और संदेश डाइजेस्ट एल्गोरिदम के लिए एक सामान्य इंटरफ़ेस लागू करता है। शामिल हैं सुरक्षित सेकेंड हैश एल्गोरिदम SHA1, SHA224, SHA256, SHA384, और SHA512 (FIPS 180-2 में परिभाषित) साथ ही RSA का MD5 एल्गोरिथ्म (इंटरनेट RFC 1321 में परिभाषित)।

प्रत्येक प्रकार के हैश के नाम पर एक निर्माण विधि है। सभी समान साधारण इंटरफ़ेस के साथ हैश ऑब्जेक्ट लौटाते हैं। उदाहरण के लिए: SHA1 हैश ऑब्जेक्ट बनाने के लिए sha1() का उपयोग करें।

hash.sha1()

इस मॉड्यूल में हमेशा मौजूद हैश एल्गोरिदम के लिए निर्माता md5() , sha1() , sha224() sha256() , sha384() , sha384() , और sha512()

अब आप इस ऑब्जेक्ट को update() विधि का उपयोग करके मनमाने तार के साथ फ़ीड कर सकते हैं। किसी भी बिंदु पर आप इसे digest() या hexdigest() विधियों का उपयोग करके अब तक खिलाए गए तार के hexdigest() के पाचन के लिए पूछ सकते हैं।

hash.update(arg)

स्ट्रिंग आर्ग के साथ हैश ऑब्जेक्ट को अपडेट करें। बार-बार कॉल सभी तर्कों के संयोजन के साथ एक एकल कॉल के बराबर हैं: m.update (ए); m.update (b) m.update (a + b) के बराबर है।

hash.digest()

अपडेट () विधि में अब तक दिए गए स्ट्रिंग्स के पाचन को वापस लौटाएं। यह डाइजेस्ट_साइज़ बाइट्स की एक स्ट्रिंग है जिसमें अशक्त बाइट्स सहित गैर-एएससीआईआई अक्षर शामिल हो सकते हैं।

hash.hexdigest()

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

यहाँ एक उदाहरण है:

>>> import hashlib
>>> m = hashlib.md5()
>>> m.update("Nobody inspects")
>>> m.update(" the spammish repetition")
>>> m.digest()
'\xbbd\x9c\x83\xdd\x1e\xa5\xc9\xd9\xde\xc9\xa1\x8d\xf0\xff\xe9'
>>> m.hexdigest()
'bb649c83dd1ea5c9d9dec9a18df0ffe9'
>>> m.digest_size
16
>>> m.block_size
64

या:

hashlib.md5("Nobody inspects the spammish repetition").hexdigest()
    'bb649c83dd1ea5c9d9dec9a18df0ffe9'

OpenSSL द्वारा प्रदान किया गया एल्गोरिथम

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

OpenSSL द्वारा उपलब्ध कराए गए एल्गोरिदम के साथ new() का उपयोग करना:

>>> h = hashlib.new('ripemd160')
>>> h.update("Nobody inspects the spammish repetition")
>>> h.hexdigest()
'cc4a5ce1b3df48aec5d22d1f16b894a0b894eccc'


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow