पायथन कार्यक्रम फ़ाइल की खोज करने के लिए

इस लेख में, आप एक फ़ाइल का हैश ढूंढना और उसे प्रदर्शित करना सीखेंगे।

इस उदाहरण को समझने के लिए, आपको निम्नलिखित पायथन प्रोग्रामिंग विषयों का ज्ञान होना चाहिए:

  • पायथन कार्य
  • पायथन उपयोगकर्ता-परिभाषित कार्य
  • पायथन फाइल I / O

हैश फ़ंक्शन डेटा की एक मनमानी राशि लेते हैं और एक निश्चित-लंबाई बिट स्ट्रिंग लौटाते हैं। फ़ंक्शन के आउटपुट को पाचन संदेश कहा जाता है।

प्रमाणीकरण उद्देश्यों के लिए क्रिप्टोग्राफी में उनका व्यापक रूप से उपयोग किया जाता है। MD5, SHA-1 आदि जैसे कई हैशिंग फ़ंक्शन हैं, क्रिप्टोग्राफी में हैश कार्यों के बारे में अधिक जानने के लिए इस पृष्ठ को देखें।

इस उदाहरण में, हम एक फ़ाइल को हैश करने के बारे में बताएंगे। हम SHA-1 हैशिंग एल्गोरिथ्म का उपयोग करेंगे। SHA-1 का पाचन 160 बिट लंबा है।

हम एक ही बार में फाइल से डेटा फीड नहीं करते हैं, क्योंकि कुछ फाइलें एक साथ सभी मेमोरी में फिट होने के लिए बहुत बड़ी हैं। फ़ाइल को छोटे विखंडू में तोड़ने से प्रक्रिया स्मृति कुशल हो जाएगी।

हैश को खोजने के लिए सोर्स कोड

 # Python rogram to find the SHA-1 message digest of a file # importing the hashlib module import hashlib def hash_file(filename): """"This function returns the SHA-1 hash of the file passed into it""" # make a hash object h = hashlib.sha1() # open file for reading in binary mode with open(filename,'rb') as file: # loop till the end of the file chunk = 0 while chunk != b'': # read only 1024 bytes at a time chunk = file.read(1024) h.update(chunk) # return the hex representation of digest return h.hexdigest() message = hash_file("track1.mp3") print(message) 

आउटपुट

 633d7356947eec543c50b76a1852f92427f4dca9 

इस कार्यक्रम में, हम फ़ाइल को बाइनरी मोड में खोलते हैं। हैश फ़ंक्शन hashlibमॉड्यूल में उपलब्ध हैं । हम लूप का उपयोग करके फ़ाइल के अंत तक whileलूप करते हैं। अंत तक पहुंचने पर, हमें खाली बाइट्स ऑब्जेक्ट मिलता है।

प्रत्येक पुनरावृत्ति में, हम केवल फ़ाइल से 1024 बाइट्स पढ़ते हैं (यह मान हमारी इच्छा के अनुसार बदला जा सकता है) और हैशिंग फ़ंक्शन को अपडेट करता है।

अंत में, हम hexdigest()विधि का उपयोग करके हेक्साडेसिमल प्रतिनिधित्व में पाचन संदेश लौटाते हैं ।

दिलचस्प लेख...