सुरक्षित हैश और संदेश डाइजेस्ट प्रक्रिया के लिए, हमें हैशलिब मॉड्यूल का उपयोग करना चाहिए। यह मॉड्यूल विभिन्न सुरक्षित हैश एल्गोरिथम जैसे SHA1, SHA224, SHA256, SHA512 आदि के लिए एक सामान्य इंटरफ़ेस लागू करता है। साथ ही RSA का MD5 एल्गोरिथम। पुराने एल्गोरिदम को मैसेज डाइजेस्ट के रूप में जाना जाता है और नई विधियों को सिक्योर हैश कहा जाता है।
इस मॉड्यूल का उपयोग करने के लिए, हमें हैशलिब मॉड्यूल को पायथन कोड में आयात करना होगा।
import hashlib
इस पद्धति में, कुछ पूर्वनिर्धारित एल्गोरिदम हैं जैसे md5, sha1, sha224, sha256, sha512 मौजूद हैं। हम OpenSSL लाइब्रेरी से अतिरिक्त एल्गोरिदम जोड़ सकते हैं।
हैशलिब मॉड्यूल के कुछ तरीके, स्थिरांक इस प्रकार हैं -
लगातार hashlib.algorithm_guranteed
यह हैश एल्गोरिथम का नाम लौटाएगा, जिसकी गारंटी है कि यह सभी अलग-अलग प्लेटफॉर्म के लिए इस मॉड्यूल द्वारा समर्थित है।
लगातार हैशलिब.एल्गोरिदम_उपलब्ध
यह हैश एल्गोरिदम का नाम लौटाएगा, जो चल रहे पायथन इंटरप्रेटर में उपलब्ध हैं।
लगातार hashlib.digest_size
यह परिणामी हैश का आकार बाइट्स में लौटाएगा।
लगातार हैशलिब.ब्लॉक_साइज
यह हैश एल्गोरिथम के आंतरिक ब्लॉक आकार को बाइट्स में लौटाएगा।
विधि hashlib.new(name[, data])
यह एक कंस्ट्रक्टर है। यह वांछित एल्गोरिथम नाम को इसके पहले तर्क के रूप में लेता है। यह ओपनएसएसएल लाइब्रेरी से पूर्वनिर्धारित हैश या अन्य एल्गोरिदम का उपयोग कर सकता है।
विधि हैशलिब.अपडेट (तर्क)
इस विधि का उपयोग हैश ऑब्जेक्ट को दिए गए तर्क के साथ अद्यतन करने के लिए किया जाता है। इस फ़ंक्शन का बार-बार कॉल करना, समवर्ती तर्कों के साथ एकल कॉल के बराबर है।
विधि हैशलिब.डाइजेस्ट ()
इस विधि का उपयोग डाइजेस्ट किए गए डेटा को वापस करने के लिए किया जाता है जिसे अद्यतन विधि के माध्यम से पारित किया जाता है। बाइट ऑब्जेक्ट का आकार डाइजेस्ट_साइज़ के समान है। इसमें 0 से 255 तक की पूरी रेंज में बाइट्स हो सकते हैं।
विधि hashlib.hexdigest()
यह विधि पाचन विधि के समान है लेकिन परिणाम में केवल हेक्साडेसिमल मान होंगे। इस पद्धति का उपयोग इंटरनेट के माध्यम से बहुत आसानी से डेटा भेजने के लिए किया जाता है।
उदाहरण कोड
import hashlib my_hash1 = hashlib.md5() #Choose md5 and update with a bytes update_bytes = b'Python123' my_hash1.update(update_bytes) print("Result after digesting: " + str(my_hash1.hexdigest())) print("Digest Size: " + str(my_hash1.digest_size)) my_hash2 = hashlib.sha256() #Choose SHA256 and update with same bytes my_hash2.update(update_bytes) print("Result after digesting: " + str(my_hash2.hexdigest())) print("Digest Size: " + str(my_hash2.digest_size))
आउटपुट
Result after digesting: ae35eacb1cb6f6d38c29a04ecb2d7471 Digest Size: 16 Result after digesting: bba32ba33d6a7f3e02a96e2d7ee6860765780aee42b878007369e373ff419b1e Digest Size: 32