03 / गाइड
चेकसम से डाउनलोड और फ़ाइल अखंडता सत्यापित करें
क्रिप्टोग्राफ़िक हैश असल में क्या साबित करता है, MD5 और SHA-1 आज सिर्फ़ अखंडता के लिए क्यों हैं, इंस्टॉलर सत्यापन कदम-दर-कदम, और संवेदनशील टेक्स्ट को बिना अपलोड किए कैसे हैश करें।
अखंडता, प्रामाणिकता नहीं
क्रिप्टोग्राफ़िक हैश इनपुट को निश्चित लंबाई की छाप में बदलता है। एक बिट बदलने पर भी हैश लगभग निश्चित रूप से बदलता है; विश्वसनीय आधुनिक हैश दो प्रतियों में समान बाइट्स होने का मज़बूत संकेत देता है।
- अखंडता का प्रमाणविश्वसनीय स्रोत से मिला SHA-256 मेल मज़बूत प्रमाण देता है कि आपकी प्रति में प्रकाशक द्वारा हैश की गई फ़ाइल के समान बाइट्स हैं; वह प्रकाशक की पहचान साबित नहीं करता।
- प्रामाणिकता अलगप्रामाणिकता नहीं: डाउनलोड के बगल में छपा चेकसम इस बारे में कुछ नहीं कहता कि फ़ाइल किसने लिखी — जो हमलावर डाउनलोड बदल सकता है वह छपा चेकसम भी बदल सकता है।
- हस्ताक्षर दूसरा टूलप्रामाणिकता को दूसरा तंत्र चाहिए: ऐसी कुंजी के सामने सत्यापित हस्ताक्षर जिस पर आप पहले से भरोसा करते हैं, या डाउनलोड से ज़्यादा भरोसेमंद चैनल से आया चेकसम।
MD5 और SHA-1 अब सिर्फ़ अखंडता के लिए हैं
MD5 128-बिट डाइजेस्ट बनाता है, 32 हेक्साडेसिमल कैरेक्टर में लिखा; SHA-1 160 बिट बनाता है, 40 कैरेक्टर में। दोनों तेज़ हैं और आकस्मिक भ्रष्टता पकड़ने के लिए ठीक — और दोनों के सार्वजनिक रूप से प्रदर्शित टकराव हैं, इसलिए न तो किसी हमलावर के मेल खाते डाइजेस्ट वाली दुर्भावनापूर्ण फ़ाइल बनाने का विरोध कर सकते।
व्यावहारिक नियम: MD5 या SHA-1 का मैच आज भी कटा डाउनलोड या बिगड़ती डिस्क पकड़ लेता है, क्योंकि दुर्घटनाएँ टकराव कंप्यूट नहीं करतीं। वे एल्गोरिदम अब जो नहीं कर सकते, वह है ऐसी फ़ाइल को क्लीन चिट देना जिस पर आपको शक करने की वजह हो — वह निर्णय अब SHA-256 या बेहतर का है।
- MD5 टूटा हैMD5 टकराव वर्षों से व्यावहारिक हैं: एक ही MD5 डाइजेस्ट वाली दो अलग फ़ाइलें जानबूझकर बनाई जा सकती हैं, इसलिए MD5 अब दुर्घटना और हमले में अंतर नहीं कर सकता।
- SHA-1 टूटा हैSHA-1 ने वही रास्ता लिया: प्रदर्शित टकराव ने सुरक्षा प्रिमिटिव के रूप में उसका जीवन खत्म कर दिया, और ब्राउज़र, प्रमाणपत्र प्राधिकरण और कोड होस्ट सब आगे बढ़ चुके हैं।
- SHA-2 आधार हैSHA-2 परिवार मौजूदा आधार है: SHA-256 (64 हेक्स कैरेक्टर) प्रकाशित डाउनलोड चेकसम के लिए डिफ़ॉल्ट है, और अलग-अलग बाधाओं के लिए SHA-224, SHA-384 और SHA-512 (56, 96 और 128 कैरेक्टर) साथी हैं।
इंस्टॉलर सत्यापित करें, कदम-दर-कदम
पूरी जाँच एक मिनट से कम लेती है और आपकी मशीन पर पहले से मौजूद टूल इस्तेमाल करती है। क्रम मायने रखता है: अपेक्षित डाइजेस्ट प्रकाशक के आधिकारिक पेज से लें, अपनी लोकल कॉपी हैश करें, और हर कैरेक्टर की तुलना करें।
बेमेल हमेशा दुर्भावना नहीं होती — कटे डाउनलोड और कैशिंग प्रॉक्सी फ़ाइलें नियमित रूप से भ्रष्ट करते हैं — पर जवाब दोनों हालत में एक ही है: फ़ाइल सत्यापन में विफल है, और इकलौता सही अगला कदम स्रोत से नई कॉपी है।
- अपेक्षित वैल्यू लेंप्रकाशित चेकसम विक्रेता के आधिकारिक डाउनलोड या रिलीज़ पेज पर खोजें — आदर्श रूप से HTTPS पर ऐसे डोमेन पर जहाँ आप खुद पहुँचे, न कि मिरर या खोज-परिणाम स्निपेट पर।
- स्थानीय रूप से हैश करेंडाउनलोड की गई फ़ाइल स्थानीय रूप से हैश करें: macOS या Linux पर shasum -a 256, या Windows पर PowerShell में Get-FileHash। दोनों आपकी डिस्क के सामने चलते हैं; कुछ भी अपलोड नहीं होता।
- बिल्कुल तुलना करेंपूरे डाइजेस्ट की कैरेक्टर-दर-कैरेक्टर तुलना करें, केस-असंवेदनशील ढंग से। एक भी अलग कैरेक्टर का मतलब है फ़ाइल छोड़ें और स्रोत से नई कॉपी लाएँ — इंस्टॉल करके उम्मीद न करें।
संवेदनशील टेक्स्ट को बिना अपलोड किए हैश करें
कई असली जाँचें फ़ाइलें नहीं, टेक्स्ट होती हैं: कॉन्फ़िगरेशन स्निपेट, लाइसेंस कुंजी, टोकन का टुकड़ा, फ़ोन पर सहकर्मी की बताई वैल्यू। उन्हें किसी बेमकसद वेबसाइट में पेस्ट करना उन्हें किसी और के लॉग में देना है, इसलिए हैशिंग स्थानीय रूप से होनी चाहिए।
SHA-256 हैश और वेरिफ़ाई प्रकाशित चेकसम के मौजूदा 64-कैरेक्टर मानक को कवर करता है। वहाँ सत्यापन तुलना है, डिक्रिप्शन नहीं: आपका टेक्स्ट हैश होता है, और दोनों वैल्यू ब्राउज़र के अंदर तुलना होती हैं।
- डिज़ाइन से लोकलटेक्स्ट बिना नॉर्मलाइज़ेशन के UTF-8 के रूप में हैश होता है (1 MiB)। फ़ाइलें मूल बाइट्स के रूप में 1 MiB के चंक में हैश होती हैं (256 MiB सीमा), खाली फ़ाइलें भी शामिल। डाइजेस्ट मैच अपने स्रोत को प्रमाणित नहीं करता; MD5 और SHA-1 विरोधी अखंडता जाँचों के लिए अनुपयुक्त हैं। प्रोसेसिंग 15-सेकंड के एक्ज़ीक्यूशन बजट वाले रद्द करने योग्य लोकल Worker में चलती है।
- स्पष्ट तुलनाVerify मोड स्पष्ट तुलना है: अपेक्षित डाइजेस्ट पेस्ट करें और वर्कस्पेस मैच या बेमेल बताता है, विकृत वैल्यू पहले ही ठुकरा देता है — MD5 के लिए ठीक 32 हेक्स कैरेक्टर, SHA-256 के लिए 64।
- निर्माण से एकतरफ़ाहैश को डिक्रिप्ट नहीं किया जा सकता, लेकिन छोटे या अनुमान योग्य इनपुट अंदाज़े से फिर हैश किए जा सकते हैं। पासवर्ड या कम-अनिश्चितता वाले रहस्य बचाने के लिए बिना salt का सामान्य हैश इस्तेमाल न करें।
तुलना को दिनचर्या में बुनें
चेकसम तभी काम करते हैं जब उनकी तुलना आदत हो, बाद के ख्याल के बजाय। कुछ छोटे अनुशासन हर बार जाँच को भरोसेमंद बनाते हैं।
UTF-8 टेक्स्ट या मूल फ़ाइल बाइट्स से हेक्साडेसिमल डाइजेस्ट बनाएँ या तुलना करें। सत्यापन चुने इनपुट के डाइजेस्ट की स्थानीय रूप से तुलना करता है; यह डाइजेस्ट डिक्रिप्ट नहीं करता न ही उसके स्रोत को प्रमाणित करता।
- पूरी तुलनाहर कैरेक्टर मिलाएँ। केवल कुछ कैरेक्टर देखना जाँच कमज़ोर करता है; MD5 और SHA-1 में पूरे हैश की भी टक्कर संभव है, चाहे पूरा मान मिला लिया जाए।
- एल्गोरिदम का नाम देंडाइजेस्ट के साथ एल्गोरिदम का नाम रखें: 64 हेक्स कैरेक्टर कई एल्गोरिदम से आ सकते हैं, और बिना लेबल का चेकसम अनुमान को आमंत्रित करता है।
- हर पड़ाव पर फिर हैशUSB ड्राइव, सिंक क्लाइंट या ईमेल से फ़ाइल ले जाने के बाद फिर हैश करें; हर पड़ाव भ्रष्टता का नया मौका है, और डाइजेस्ट मुफ़्त साथ चलता है।
अपनी फ़ाइलों के लिए चेकसम प्रकाशित करें
अगर आप फ़ाइलें वितरित करते हैं — रिलीज़ बाइनरी, डेटासेट, आंतरिक टूल — तो उनके साथ चेकसम प्रकाशित करें। इसमें प्रति आर्टिफ़ैक्ट एक कमांड लगती है और हर पाने वाले को आपसे संपर्क किए बिना अखंडता सत्यापित करने का तरीका मिलता है।
SHA-512 हैश और वेरिफ़ाई ज़रूरत पड़ने पर 128-कैरेक्टर का लंबा डाइजेस्ट स्थानीय रूप से बनाता है, और SHA-224 व SHA-384 साथी SHA-2 परिवार के बाकी हिस्से को कवर करते हैं — वही इंजन, वही टैब, वही सीमा।
- न्यूनतम SHA-256कम से कम SHA-256 प्रकाशित करें; जहाँ आपके दर्शक ऐसे प्लेटफ़ॉर्म पर सत्यापित करते हैं जहाँ वह तेज़ चलता है, वहाँ साथ में SHA-512 जोड़ें, और हर डाइजेस्ट को उसके एल्गोरिदम से लेबल करें।
- समान भरोसा स्तरचेकसम को डाउनलोड के समान भरोसा स्तर से परोसें, आदर्श रूप से ऐसे पेज या रिपॉज़िटरी से जिसे आपके उपयोगकर्ता पहले से आधिकारिक मानते हों।
- MD5 लेगसी लेबल के रूप मेंMD5 लाइनें सिर्फ़ लेगसी संगतता लेबल के रूप में रखें, स्पष्ट रूप से आकस्मिक भ्रष्टता की अखंडता जाँच के रूप में चिह्नित — कभी सुरक्षा सत्यापन के रूप में नहीं।
सत्यापन किसी टूल पर भरोसा करने का एक हिस्सा है।
किसी भी ऑनलाइन टूल को फ़ाइल देने से पहले उसका डेटा पथ जाँचना सीखें — वही संशय जिसे चेकसम इनाम देता है।