CRC-32B हैश कोड कैलकुलेटर
प्रकाशित: 17 फ़रवरी 2025 को 6:31:03 pm UTC बजे
आखरी अपडेट: 12 जनवरी 2026 को 9:16:11 am UTC बजे
CRC-32B Hash Code Calculator
साइक्लिक रिडंडेंसी चेक (CRC) एक एरर-डिटेक्टिंग कोड है जिसका इस्तेमाल आमतौर पर रॉ डेटा में अचानक हुए बदलावों का पता लगाने के लिए किया जाता है। टेक्निकली क्रिप्टोग्राफ़िक हैश फ़ंक्शन नहीं होने के बावजूद, CRC-32 को अक्सर हैश कहा जाता है क्योंकि यह वेरिएबल-लेंथ इनपुट से फिक्स्ड-साइज़ आउटपुट (32 बिट्स) बना सकता है। इस पेज पर दिखाया गया वर्शन CRC-32B वैरिएंट है, जो असल में PHP लैंग्वेज में एक अजीब बात है जो बिट्स को उलट-पुलट कर देता है (ओरिजिनल CRC-32 में लिटिल-एंडियन बनाम बिग-एंडियन)।
पूर्ण प्रकटीकरण: मैंने इस पृष्ठ पर उपयोग किए गए हैश फ़ंक्शन का विशिष्ट कार्यान्वयन नहीं लिखा है। यह PHP प्रोग्रामिंग भाषा के साथ शामिल एक मानक फ़ंक्शन है। मैंने केवल सुविधा के लिए इसे सार्वजनिक रूप से उपलब्ध कराने के लिए वेब इंटरफ़ेस बनाया है।
CRC-32B हैश एल्गोरिथम के बारे में
मैं कोई मैथमैटिशियन नहीं हूँ, लेकिन मैं इस हैश फंक्शन को एक आसान उदाहरण से समझाने की कोशिश करूँगा। कई क्रिप्टोग्राफ़िक हैश फंक्शन के उलट, यह कोई खास मुश्किल एल्गोरिदम नहीं है, इसलिए शायद यह ठीक रहेगा ;-)
सोचिए कि आप मेल से एक लेटर भेज रहे हैं, लेकिन आपको चिंता है कि पाने वाले तक पहुंचने से पहले यह डैमेज हो सकता है। लेटर के कंटेंट के आधार पर, आप एक CRC-32 चेकसम कैलकुलेट करते हैं और उसे लिफाफे पर लिखते हैं। जब पाने वाले को लेटर मिलता है, तो वह भी चेकसम कैलकुलेट कर सकता है और देख सकता है कि यह आपकी लिखी बातों से मैच करता है या नहीं। अगर ऐसा होता है, तो लेटर रास्ते में डैमेज या बदला नहीं गया था।
CRC-32 जिस तरह से यह करता है वह चार स्टेप की प्रक्रिया है:
स्टेप 1: कुछ एक्स्ट्रा स्पेस (पैडिंग) जोड़ें
- CRC मैसेज के आखिर में थोड़ी एक्स्ट्रा जगह देता है (जैसे डिब्बे में मूंगफली पैक करना)।
- इससे गलतियों को आसानी से पहचानने में मदद मिलती है।
स्टेप 2: मैजिक रूलर (पॉलीनोमिअल)
- CRC-32 डेटा को मापने के लिए एक खास "मैजिक रूलर" का इस्तेमाल करता है। इस रूलर को उभारों और खांचों के पैटर्न की तरह समझें (यह पॉलीनोमियल है, लेकिन इस शब्द की चिंता न करें)। CRC-32 के लिए सबसे आम "रूलर" एक फिक्स्ड पैटर्न है।
स्टेप 3: रूलर को स्लाइड करना (डिवीजन प्रोसेस)
- अब CRC मैसेज पर रूलर स्लाइड करता है। हर जगह, यह चेक करता है कि उभार और खांचे लाइन में हैं या नहीं। अगर वे लाइन में नहीं हैं, तो CRC एक नोट बनाता है (यह सिंपल XOR का इस्तेमाल करके किया जाता है, जैसे स्विच को ऑन या ऑफ करना)। यह तब तक स्लाइड और स्विच को फ्लिप करता रहता है जब तक यह आखिर तक नहीं पहुंच जाता।
स्टेप 4: फ़ाइनल रिज़ल्ट (चेकसम)
- पूरे मैसेज पर रूलर स्लाइड करने के बाद, आपके पास एक छोटा नंबर (32 बिट लंबा) बचता है जो ओरिजिनल डेटा को दिखाता है। यह नंबर मैसेज के लिए एक यूनिक फिंगरप्रिंट की तरह है। यह CRC-32 चेकसम है।
पेज पर दिखाया गया वर्शन CRC-32B वैरिएंट है, जो ज़्यादातर PHP की एक अजीब बात है जो बिट ऑर्डर को बदल देता है (लिटिल-एंडियन बनाम बिग-एंडियन)। आपको शायद यह वर्शन तभी इस्तेमाल करना चाहिए जब आपको खास तौर पर किसी दूसरे PHP एप्लिकेशन के साथ कम्पैटिबिलिटी चाहिए जो इसे इस्तेमाल करता है।
मेरे पास दूसरे वेरिएंट के लिए भी कैलकुलेटर हैं:
- जोड़ना
- जोड़ना
अग्रिम पठन
यदि आपको यह पोस्ट पसंद आई हो, तो आपको ये सुझाव भी पसंद आ सकते हैं:
