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

पायथन में सुरक्षित हैश और संदेश डाइजेस्ट

सुरक्षित हैश और संदेश डाइजेस्ट प्रक्रिया के लिए, हमें हैशलिब मॉड्यूल का उपयोग करना चाहिए। यह मॉड्यूल विभिन्न सुरक्षित हैश एल्गोरिथम जैसे 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

  1. पायथन टिंकर में विधि के बाद

    जीयूआई बनाने के लिए टिंकर एक पायथन पुस्तकालय है। इसमें डेटा और GUI ईवेंट दिखाने के लिए GUI विंडो और अन्य विजेट बनाने और हेरफेर करने के लिए कई अंतर्निहित तरीके हैं। इस लेख में हम देखेंगे कि टिंकर जीयूआई में बाद की विधि का उपयोग कैसे किया जाता है। सिंटैक्स .after(delay, FuncName=FuncName) This method

  1. पायथन स्टार्टविथ () और एंडविड्थ () फ़ंक्शन

    पायथन की स्ट्रिंग क्लास में एक विधि startwith(string) है। यह विधि एक उपसर्ग स्ट्रिंग को स्वीकार करती है जिसे आप खोजना चाहते हैं और इसे स्ट्रिंग ऑब्जेक्ट पर कहा जाता है। आप इस विधि को निम्न तरीके से कॉल कर सकते हैं - >>> 'hello world'.startswith('hell') True >>> '

  1. पाइथन अपवाद संदेश को कैप्चर और प्रिंट कैसे करें?

    पायथन अपवाद संदेशों को अलग-अलग तरीकों से कैप्चर और प्रिंट किया जा सकता है जैसा कि नीचे दो कोड उदाहरणों में दिखाया गया है। पहले में, हम अपवाद वस्तु की संदेश विशेषता का उपयोग करते हैं। उदाहरण try: a = 7/0 print float(a) except BaseException as e: print e.message आउटपुट integer division or modulo by ze