MD5, SHA-1 और SHA-256 Hashes क्या हैं, और मैं उनकी कैसे जाँच करूँ?
आप कभी-कभी अपनी इंटरनेट यात्रा के दौरान MD5, SHA-1, या SHA-256 हैश को डाउनलोड के साथ प्रदर्शित करते हैं, लेकिन वास्तव में वे क्या हैं, यह नहीं जानते। पाठ के ये बेतरतीब ढंग से तार आपको उन फ़ाइलों को सत्यापित करने की अनुमति देते हैं जिन्हें आप डाउनलोड नहीं कर रहे हैं या दूषित नहीं हैं। आप इसे विंडोज, मैकओएस और लिनक्स में निर्मित कमांड के साथ कर सकते हैं.
कैसे काम करता है, और कैसे वे डेटा सत्यापन के लिए उपयोग किया जाता है
हैश क्रिप्टोग्राफ़िक एल्गोरिदम के उत्पाद हैं जो पात्रों की एक स्ट्रिंग का निर्माण करने के लिए डिज़ाइन किए गए हैं। इनपुट डेटा के आकार की परवाह किए बिना, अक्सर इन तारों की एक निश्चित लंबाई होती है। उपरोक्त चार्ट पर एक नज़र डालें और आप देखेंगे कि दोनों "फॉक्स" और "ब्लू डॉग पर लाल लोमड़ी कूदता है" एक ही लंबा आउटपुट मिलता है.
अब चार्ट में दूसरे उदाहरण की तुलना तीसरे, चौथे और पांचवें से करें। आप देखेंगे कि इनपुट डेटा में बहुत मामूली बदलाव के बावजूद, परिणामी हैश सभी एक दूसरे से बहुत अलग हैं। यहां तक कि अगर कोई इनपुट डेटा का एक बहुत छोटा टुकड़ा संशोधित करता है, तो हैश नाटकीय रूप से बदल जाएगा.
MD5, SHA-1 और SHA-256 सभी अलग-अलग हैश फ़ंक्शन हैं। सॉफ़्टवेयर निर्माता अक्सर एक फ़ाइल डाउनलोड की तरह लिनक्स .iso फ़ाइल, या यहां तक कि एक विंडोज .exe फ़ाइल लेते हैं और एक है फंक्शन के माध्यम से चलाते हैं। फिर वे अपनी वेबसाइटों पर हैश की आधिकारिक सूची प्रदान करते हैं.
इस तरह, आप फ़ाइल को डाउनलोड कर सकते हैं और फिर वास्तविक, मूल फ़ाइल की पुष्टि करने के लिए हैश फ़ंक्शन चला सकते हैं और डाउनलोड प्रक्रिया के दौरान इसे दूषित नहीं किया गया है। जैसा कि हमने ऊपर देखा, फ़ाइल में एक छोटा सा बदलाव भी नाटकीय रूप से हैश को बदल देगा.
ये उपयोगी भी हो सकते हैं यदि आपके पास कोई फाइल है जो आपको अनौपचारिक स्रोत से मिली है और आप पुष्टि करना चाहते हैं कि यह वैध है। मान लें कि आपके पास एक Linux है .ISO फ़ाइल जो आपको कहीं से मिली है और आप इसकी पुष्टि करना चाहते हैं कि इसमें छेड़छाड़ नहीं की गई है। आप लिनक्स वितरण की वेबसाइट पर उस विशिष्ट आईएसओ फ़ाइल के हैश को ऑनलाइन देख सकते हैं। आप इसे अपने कंप्यूटर पर हैश फ़ंक्शन के माध्यम से चला सकते हैं और पुष्टि कर सकते हैं कि यह उस हैश मान से मेल खाता है जिसकी आपको अपेक्षा है। यह आपके पास मौजूद फ़ाइल की पुष्टि करता है कि लिनक्स वितरण की वेबसाइट पर डाउनलोड करने के लिए किसी भी संशोधन के बिना एक ही फ़ाइल की पेशकश की जा रही है.
ध्यान दें कि MD5 और SHA-1 फ़ंक्शन के साथ "टकराव" पाया गया है। ये कई अलग-अलग फाइलें हैं-उदाहरण के लिए, एक सुरक्षित फ़ाइल और एक दुर्भावनापूर्ण फ़ाइल-जिसके परिणामस्वरूप समान MD5 या SHA-1 हैश है। इसलिए आपको जब संभव हो तो SHA-256 को प्राथमिकता देनी चाहिए.
किसी भी ऑपरेटिंग सिस्टम पर हैश फंक्शंस की तुलना कैसे करें
इसे ध्यान में रखते हुए, आइए देखें कि आपके द्वारा डाउनलोड की गई फ़ाइल के हैश की जांच कैसे की जाए, और इसकी तुलना आपके द्वारा दिए गए के मुकाबले करें। यहां विंडोज, मैकओएस और लिनक्स के लिए तरीके हैं। यदि आप एक ही फाइल पर एक ही हैशिंग फ़ंक्शन का उपयोग कर रहे हैं, तो हैश हमेशा समान होगा। इससे कोई फर्क नहीं पड़ता कि आप किस ऑपरेटिंग सिस्टम का उपयोग करते हैं.
विंडोज
यह प्रक्रिया किसी भी तृतीय-पक्ष सॉफ़्टवेयर के बिना संभव है जो कि PowerShell के लिए विंडोज़ धन्यवाद पर है.
आरंभ करने के लिए, अपने प्रारंभ मेनू में "Windows PowerShell" शॉर्टकट लॉन्च करके एक PowerShell विंडो खोलें.
निम्न कमांड चलाएँ, "C: \ path \ to \ file.iso" को किसी भी फ़ाइल के पथ के साथ, जिसे आप हैश देखना चाहते हैं:
Get-FileHash C: \ path \ to to file.iso
फ़ाइल के आकार के आधार पर फ़ाइल के हैश को जेनरेट करने में कुछ समय लगेगा, आपके द्वारा उपयोग किए जा रहे एल्गोरिथ्म और फ़ाइल के ड्राइव की गति चालू है.
डिफ़ॉल्ट रूप से, कमांड SHA-256 हैश को एक फाइल के लिए दिखाएगी। हालाँकि, यदि आप MD5, SHA-1, या अन्य प्रकार के हैश की आवश्यकता है, तो आप हैशिंग एल्गोरिथ्म का उपयोग कर सकते हैं.
एक अलग हैशिंग एल्गोरिथ्म निर्दिष्ट करने के लिए निम्न में से कोई एक कमांड चलाएँ:
Get-FileHash C: \ path \ to to file.iso -Al एल्गोरिदम MD5
Get-FileHash C: \ path \ to to file.iso -आलगोरिथम SHA1
Get-FileHash C: \ path \ to to file.iso -आलगोरिथम SHA256
Get-FileHash C: \ path \ to to file.iso -आलगोरिथम SHA384
Get-FileHash C: \ path \ to to file.iso -आलगोरिथम SHA512
Get-FileHash C: \ path \ to to file.iso -आलगोरिथम MACTripleDES
Get-FileHash C: \ path \ to to file.iso -आलगोरिथम RIPEMD160
हैश फ़ंक्शन के परिणाम की तुलना उस परिणाम से करें, जिसे आपने देखने की अपेक्षा की थी। यदि यह समान मान है, तो फ़ाइल को दूषित नहीं किया गया है, छेड़छाड़ की गई है, या अन्यथा मूल से बदल दिया गया है.
मैक ओ एस
macOS में विभिन्न प्रकार के हैश देखने के लिए कमांड शामिल हैं। उन्हें एक्सेस करने के लिए, एक टर्मिनल विंडो लॉन्च करें। आप इसे फाइंडर> एप्लीकेशन> यूटिलिटीज> टर्मिनल पर पाएंगे.
md5
कमांड किसी फ़ाइल का MD5 हैश दिखाता है:
md5 / path / to / file
shasum
आदेश डिफ़ॉल्ट रूप से किसी फ़ाइल का SHA-1 हैश दिखाता है। इसका मतलब है कि निम्नलिखित आदेश समान हैं:
shasum / path / to / file
shasum -a 1 / path / to / file
किसी फ़ाइल का SHA-256 हैश दिखाने के लिए, निम्न कमांड चलाएँ:
shasum -a 256 / path / to / file
लिनक्स
लिनक्स पर, एक टर्मिनल तक पहुँचें और एक फाइल के लिए हैश देखने के लिए निम्न में से एक कमांड चलाएं, इस पर निर्भर करता है कि आप किस प्रकार का हैश देखना चाहते हैं:
md5sum / path / to / file
sha1sum / path / to / file
sha256sum / पथ / से / फ़ाइल
कुछ हैश क्रिप्टोग्राफिक रूप से भी अधिक सुरक्षा के लिए हस्ताक्षरित हैं
हैश की मदद से आप यह पुष्टि कर सकते हैं कि किसी फ़ाइल के साथ छेड़छाड़ नहीं की गई थी, फिर भी यहाँ हमले का एक अवसर है। एक हमलावर लिनक्स वितरण की वेबसाइट पर नियंत्रण प्राप्त कर सकता है और उस पर दिखाई देने वाली हैश को संशोधित कर सकता है, या एक हमलावर एक आदमी के बीच का हमला कर सकता है और यदि आप HTTP के बजाय वेबसाइट का उपयोग कर रहे हैं तो पारगमन में वेब पेज को संशोधित कर सकते हैं। एन्क्रिप्टेड HTTPS.
यही कारण है कि आधुनिक लिनक्स वितरण अक्सर वेब पृष्ठों पर सूचीबद्ध हैश से अधिक प्रदान करते हैं। वे क्रिप्टोग्राफिक रूप से इन हैश को हमलावरों से बचाने में मदद करने के लिए हस्ताक्षर करते हैं जो हैश को संशोधित करने का प्रयास कर सकते हैं। आप क्रिप्टोग्राफ़िक हस्ताक्षर को सत्यापित करना चाहते हैं, यह सुनिश्चित करने के लिए कि क्या हैश फ़ाइल वास्तव में लिनक्स वितरण द्वारा हस्ताक्षरित है, यदि आप चाहते हैं कि हैश और फ़ाइल के साथ छेड़छाड़ न हो.
क्रिप्टोग्राफिक हस्ताक्षर सत्यापित करना एक अधिक शामिल प्रक्रिया है। लिनक्स आईएसओ को सत्यापित करने के लिए हमारी मार्गदर्शिका पढ़ें पूर्ण निर्देशों के लिए छेड़छाड़ नहीं की गई है.
छवि क्रेडिट: जॉर्ज स्टॉल्फी / विकिमीडिया