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

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

सिक्योर हैश और मैसेज डाइजेस्ट प्रक्रिया के लिए, हमें hashlib मॉड्यूल का उपयोग करना चाहिए। यह मॉड्यूल SHA1, SHA224, SHA256, SHA512 आदि जैसे विभिन्न सिक्योर हैश एल्गोरिदम के लिए एक सामान्य इंटरफेस लागू करता है। साथ ही RSA का MD5 एल्गोरिदम। पुराने एल्गोरिदम को मैसेज डाइजेस्ट के रूप में जाना जाता है और नए मेथड्स को सिक्योर हैश कहा जाता है।

इस मॉड्यूल का उपयोग करने के लिए, हमें पायथन कोड में hashlib मॉड्यूल आयात करने की आवश्यकता है।

import hashlib

इस मेथड में, md5, sha1, sha224, sha256, sha512 जैसे कुछ पूर्वनिर्धारित एल्गोरिदम मौजूद हैं। हम OpenSSL लाइब्रेरी से अतिरिक्त एल्गोरिदम जोड़ सकते हैं।

hashlib मॉड्यूल के कुछ मेथड्स, कॉन्स्टेंट्स इस प्रकार हैं:

कॉन्स्टेंट hashlib.algorithms_guaranteed

यह उन हैश एल्गोरिदम के नाम लौटाएगा, जो इस मॉड्यूल द्वारा सभी अलग-अलग प्लेटफॉर्म्स के लिए समर्थित होने की गारंटी देते हैं।

कॉन्स्टेंट hashlib.algorithms_available

यह उन हैश एल्गोरिदम के नाम लौटाएगा, जो रनिंग पायथन इंटरप्रेटर में उपलब्ध हैं।

कॉन्स्टेंट hashlib.digest_size

यह परिणामी हैश का आकार बाइट्स में लौटाएगा।

कॉन्स्टेंट hashlib.block_size

यह हैश एल्गोरिदम का आंतरिक ब्लॉक आकार बाइट्स में लौटाएगा।

मेथड hashlib.new(name[, data])

यह एक कंस्ट्रक्टर है। यह अपने पहले आर्गुमेंट के रूप में वांछित एल्गोरिदम नाम लेता है। यह पूर्वनिर्धारित हैश या OpenSSL लाइब्रेरी से अन्य एल्गोरिदम का उपयोग कर सकता है।

मेथड hashlib.update(arg)

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

मेथड hashlib.digest()

यह मेथड अपडेट मेथड के माध्यम से पास किए गए डाइजेस्टेड डेटा को लौटाने के लिए उपयोग किया जाता है। बाइट ऑब्जेक्ट का आकार digest_size के समान होता है। इसमें 0 से 255 की पूरी रेंज में बाइट्स हो सकते हैं।

मेथड hashlib.hexdigest()

यह मेथड डाइजेस्ट मेथड के समान है लेकिन परिणाम में केवल हेक्साडेसिमल मान होंगे। इस मेथड का उपयोग इंटरनेट के माध्यम से डेटा बहुत आसानी से भेजने के लिए किया जाता है।

उदाहरण कोड

import hashlib

my_hash1 = hashlib.md5() # md5 चुनें और बाइट्स के साथ अपडेट करें
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() # SHA256 चुनें और समान बाइट्स के साथ अपडेट करें
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. Python Tkinter में after विधि Python Tkinter में after विधि

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

  1. - पायथन startswith() और endswith() फंक्शन

    समस्या विवरण पायथन में स्ट्रिंग क्लास में startswith(string) मेथड होता है। यह मेथड एक प्रीफिक्स स्ट्रिंग स्वीकार करता है जिसे आप खोजना चाहते हैं और एक स्ट्रिंग ऑब्जेक्ट पर कॉल किया जाता है। आप इस मेथड को निम्न तरीके से कॉल कर सकते हैं: hello world.startswith(nope) False इसी तरह, एक endswith मेथड ह

  1. - पायथन एक्सेप्शन मैसेज को कैसे कैप्चर और प्रिंट करें?

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