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

हैश असल में है क्या?
क्रिप्टोग्राफ़िक हैश फ़ंक्शन में तीन गुण रोज़मर्रा के काम में मायने रखते हैं। यह नियतात्मक है: एक ही इनपुट हमेशा एक ही आउटपुट देता है। यह निश्चित-लंबाई का है: तीन शब्द हों या तीन मेगाबाइट, डाइजेस्ट एक ही आकार का रहता है। और इसमें एवलांच प्रभाव होता है: एक अक्षर बदलने — यहाँ तक कि अंत का एक स्पेस — से लगभग आधे आउटपुट बिट पलट जाते हैं, इसलिए नया हैश पुराने से असंबंधित लगता है।
यही अंतिम गुण हैश को भरोसेमंद “बदलाव-सूचक” बनाता है: दो लंबे अनुच्छेदों को आँख से समान बताना कठिन है, पर 64 अक्षरों के दो हैश की तुलना एक सेकंड में हो जाती है।
कौन-सा एल्गोरिद्म इस्तेमाल करें?
आम एल्गोरिद्म मुख्यतः डाइजेस्ट की लंबाई और इस बात में भिन्न हैं कि वे अब भी सुरक्षित माने जाते हैं या नहीं:
- MD5 — 128-बिट डाइजेस्ट, 32 हेक्स अक्षर। तेज़, पर क्रिप्टोग्राफ़िक रूप से टूटा हुआ (व्यावहारिक टकराव मौजूद हैं)। डुप्लिकेट हटाने जैसे ग़ैर-सुरक्षा कामों के लिए ठीक; सुरक्षा के लिए कभी नहीं।
- SHA-1 — 160 बिट, 40 अक्षर। यह भी टकराव हमलों से टूटा; हर जगह हटाया जा रहा है।
- SHA-256 — 256 बिट, 64 अक्षर। SHA-2 परिवार का हिस्सा और आज अखंडता-जाँच के लिए समझदार डिफ़ॉल्ट।
- SHA-512 — 512 बिट, 128 अक्षर। बड़ा सुरक्षा मार्जिन; जब अतिरिक्त गुंजाइश चाहिए तब उपयोगी।
संशय हो तो SHA-256 चुनें: व्यापक रूप से समर्थित, टेक्स्ट पर तेज़, और इतना मज़बूत कि जानबूझकर टकराव कोई वास्तविक चिंता नहीं।
व्यवहार में टेक्स्ट की अखंडता कैसे जाँचें
प्रक्रिया सरल है। मूल टेक्स्ट को हैश जेनरेटर में पेस्ट करें और SHA-256 डाइजेस्ट नोट कर लें। बाद में — जब टेक्स्ट ईमेल, CMS में पेस्ट या ऐप्स के बीच कॉपी से गुज़र जाए — इसे फिर से निकालें और तुलना करें। दोनों डाइजेस्ट मिलें तो कुछ नहीं बदला; भिन्न हों तो कोई अदृश्य बदलाव घुस गया: बदला गया स्मार्ट कोट, हटी हुई लाइन-ब्रेक, या अंत का स्पेस।
यह दृश्य समीक्षा से अधिक भरोसेमंद है, ठीक इसलिए कि फ़ॉर्मैटिंग बिगाड़ने वाली चीज़ें अक्सर दिखती ही नहीं।
हैश क्या नहीं कर सकता
हैशिंग एन्क्रिप्शन नहीं है। हैश एकतरफ़ा है: SHA-256 डाइजेस्ट से मूल टेक्स्ट वापस नहीं पा सकते। इसका अर्थ यह भी कि हैशिंग सामग्री को न छिपाती है न सुरक्षित करती है — यह केवल बदलाव पकड़ती है। दो और सीमाएँ स्पष्ट कहनी चाहिए:
- पासवर्ड का कच्चा हैश सुरक्षित भंडारण नहीं है। पासवर्ड को धीमे और साल्ट वाले फ़ंक्शन (bcrypt, scrypt, Argon2) चाहिए, महज़ MD5 या SHA-256 नहीं।
- एन्कोडिंग मायने रखती है। वही दिखने वाला टेक्स्ट UTF-8 और UTF-16 में हैश करने पर, या अंत की लाइन-ब्रेक के साथ/बिना, भिन्न डाइजेस्ट देता है। समान की तुलना समान से करें।
डाउनलोड की गई फ़ाइल जाँचना
व्यवहार में सबसे आम उपयोग यह पुष्टि करना है कि डाउनलोड सही-सलामत आया। विक्रेता किसी इंस्टॉलर का SHA-256 प्रकाशित करता है; आप प्राप्त फ़ाइल का चेकसम निकाल कर तुलना करते हैं। मिल जाए तो बाइट्स वैसे ही हैं जैसे भेजे गए; अंतर हो तो लगभग हमेशा डाउनलोड ख़राब या अधूरा है — या, विरले, फ़ाइल से छेड़छाड़। स्थानीय फ़ाइलों के लिए फ़ाइल चेकसम वेरिफ़ायर का उपयोग करें, जो फ़ाइल को आपके ब्राउज़र में पढ़ता है और कभी अपलोड नहीं करता।
बचने योग्य आम ग़लतियाँ
- किसी भी सुरक्षा-संबंधी काम के लिए MD5 या SHA-1 का उपयोग — इसके बजाय SHA-256 लें।
- हैशिंग को एन्क्रिप्शन समझना, या हैश को “डिकोड” करने की उम्मीद।
- अलग-अलग एन्कोडिंग या फालतू स्पेस वाले हैश की तुलना।
- समर्पित फ़ंक्शन के बजाय पासवर्ड के कच्चे हैश संग्रहीत करना।
सही उपयोग में हैश सबसे सस्ती अखंडता-जाँचों में से एक है: पेस्ट करें, तुलना करें, और निश्चित रूप से जानें कि दो संस्करण मिलते हैं या नहीं — बिना अनुमान, और बिना कुछ आपके ब्राउज़र से बाहर गए।