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