टेक्स्ट हैश: समान SHA वास्तव में क्या सिद्ध करती है?
टेक्स्ट या सेटिंग दूसरे सिस्टम में भेजते समय हैश बदलाव जाँचने में मदद करता है। दोनों पक्षों में वही डेटा और भरोसेमंद संदर्भ होना जरूरी है।
एल्गोरिदम भी तुलना का हिस्सा है
हैश फ़ंक्शन निश्चित लंबाई का सार बनाता है। दोनों तरफ वही एल्गोरिदम रखें; SHA-256 का परिणाम सीधे SHA-512 से नहीं मिलता।
SHA-256 आम तौर पर 64 हेक्साडेसिमल अंकों में दिखती है। लंबा टेक्स्ट हैश को लंबा नहीं करता; यह संपीड़ित प्रति भी नहीं जिससे मूल वापस मिल जाए।
संदर्भ: MDN — SubtleCrypto.digest and fixed-length cryptographic digests
समान दिखने वाले टेक्स्ट में अलग बाइट हो सकते हैं
अंत का स्पेस, नई पंक्ति या अलग एन्कोडिंग दिखने में छोटे अंतर के बावजूद हैश बदल सकती है। भेजी गई असली सामग्री जाँचनी हो तो पहले उसे साफ न करें।
ToolRoof टेक्स्ट का UTF-8 में हैश बनाता है, स्पेस हटाए या Unicode सामान्यीकृत किए बिना। यह टेक्स्ट का टूल है; फ़ाइल नाम चिपकाना उसके अंदर की सामग्री का हैश नहीं बनाता।
संदर्भ का स्रोत भरोसेमंद होना चाहिए
भरोसेमंद संदर्भ से मिलना तुलना की गई सामग्री की अखंडता का उपयोगी प्रमाण है। अकेले इससे लेखक की पहचान या सामग्री का हानिरहित होना सिद्ध नहीं होता।
जो टेक्स्ट और संदर्भ हैश दोनों बदल सकता है, वह मेल बनाए रख सकता है। स्रोत जाँचें; साधारण SHA को डिजिटल हस्ताक्षर या उचित पासवर्ड भंडारण का विकल्प न मानें।
संदर्भ: MDN — SubtleCrypto.digest and fixed-length cryptographic digests
उदाहरण: अंतिम नई पंक्ति भी इनपुट है
बिना अंतिम नई पंक्ति के Roof में 4 UTF-8 बाइट हैं और SHA-256 c2f6a4d9 से शुरू होती है। एक LF जोड़ने से 5 बाइट और 1e5a7f27 से शुरू होने वाला हैश मिलता है। दिखावट करीब है, डेटा अलग।
छोटे शुरुआती हिस्से केवल समझाने के लिए हैं; असली तुलना पूरा हैश इस्तेमाल करती है। अंतर मिले तो छेड़छाड़ मानने से पहले नई पंक्तियाँ, स्पेस और चुना एल्गोरिदम देखें।