SomeeLab.tools

फ़ाइल चेकसम वेरिफ़ायर

किसी फ़ाइल का MD5, SHA-1 या SHA-256 निकालें और उसे प्रकाशक के दिए हैश से मिलाएँ। फ़ाइल आपके ब्राउज़र में ही पढ़ी जाती है।

या फ़ाइल को यहाँ खींचकर छोड़ें

चेकसम किस सवाल का जवाब देता है

चेकसम सिर्फ़ एक सवाल का जवाब देता है: अभी जो फ़ाइल आपने डाउनलोड की, क्या वह वही है जो प्रकाशक ने बनाई थी? एक बाइट भी बदल जाए तो हैश पूरा बदल जाता है, इसलिए दोनों मान बराबर होने का मतलब है कि रास्ते में कुछ छूटा नहीं और किसी ने फ़ाइल बदली भी नहीं। मान मेल न खाएँ तो फ़ाइल खोलिए मत, दोबारा डाउनलोड कीजिए, और दूसरी प्रति भी मेल न खाए तो उसे कहीं और से लीजिए।

प्रकाशित हैश कहाँ मिलता है

ज़्यादातर परियोजनाएँ डाउनलोड के साथ ही SHA256SUMS नाम की फ़ाइल रखती हैं, जिसमें हर जारी फ़ाइल के लिए एक पंक्ति होती है। GitHub रिलीज़ में ये मान अक्सर रिलीज़ नोट्स में या एक अलग अटैचमेंट के रूप में होते हैं। लिनक्स वितरण उन्हें ISO वाली डायरेक्टरी में ही रखते हैं। कंटेनर इमेज के लिए रजिस्ट्री खुद sha256: से शुरू होने वाला डाइजेस्ट दिखाती है।

फ़ाइल वाली जगह से मिला हैश कम भरोसे का होता है

अगर फ़ाइल और हैश दोनों एक ही सर्वर से आए हैं, तो जो फ़ाइल बदल सकता है वह उसी समय हैश भी बदल सकता है, और दोनों बिलकुल मेल खाते दिखेंगे। इसीलिए गंभीर परियोजनाएँ अपनी सम-फ़ाइल पर हस्ताक्षर करती हैं: SHA256SUMS के साथ SHA256SUMS.gpg भी होती है, और हस्ताक्षर की कुंजी अलग से प्रकाशित होती है। पहले हस्ताक्षर जाँचिए, फिर उसके भीतर के मानों पर भरोसा कीजिए। हस्ताक्षर न हो, तो किसी दूसरे रास्ते से मिला हैश फ़ाइल के बगल में पड़े हैश से ज़्यादा काम का है।

MD5 और SHA-1 अब भी क्यों दिखते हैं

सुरक्षा के लिहाज़ से दोनों टूट चुके हैं: एक ही MD5 वाली दो अलग फ़ाइलें बनाना व्यवहार में संभव है, और SHA-1 की टक्कर असली दस्तावेज़ फ़ॉर्मैट पर दिखाई जा चुकी है। इसलिए इनमें से कोई भी यह साबित नहीं करता कि फ़ाइल से छेड़छाड़ नहीं हुई। हाँ, दुर्घटनाएँ वे आज भी पकड़ लेते हैं — बीच में कटा डाउनलोड, ख़राब डिस्क, या पुरानी प्रति देने वाला मिरर। कई पुरानी परियोजनाएँ सिर्फ़ MD5 ही देती हैं, और उसे मिलाना कुछ न मिलाने से बेहतर है। साथ में SHA-256 हो तो वही लीजिए।

लिखने का तरीक़ा हर जगह अलग क्यों है

डाइजेस्ट आख़िर में एक संख्या ही है, इसलिए हर कोई उसे अपने ढंग से लिखता है। कहीं छोटे अक्षरों में हेक्साडेसिमल, कहीं बड़े अक्षरों में; यहाँ इससे फ़र्क़ नहीं पड़ता, क्योंकि मान वही रहता है। रजिस्ट्री एल्गोरिदम का नाम आगे लगाती है, जैसे sha256:sha256sum कमांड पहले हैश, फिर दो स्पेस, फिर फ़ाइल का नाम छापती है, जबकि openssl dgst नाम पहले लिखकर बराबर के चिह्न के बाद हैश रखती है। इनमें से कोई भी रूप चिपका दीजिए, पंक्ति में से हैश अपने आप निकाल लिया जाएगा।