CRC कैलकुलेटर (CRC-8, CRC-16, CRC-32, CRC-64)
टेक्स्ट या हेक्स बाइट का CRC-32, CRC-32C, CRC-16 (MODBUS, CCITT, XMODEM), CRC-8 और CRC-64 निकालें। सभी वेरिएंट एक साथ, हेक्स या दशमलव आउटपुट।
पूरी तरह आपके ब्राउज़र में चलता है। आपका डेटा कभी अपलोड नहीं होता।
CRC कैलकुलेटर क्या है?
साइक्लिक रिडंडेंसी चेक (CRC) एक छोटा चेकसम है, जिसका उपयोग डेटा में अनजाने में हुए बदलाव पकड़ने के लिए किया जाता है। यह कैलकुलेटर टेक्स्ट, हेक्स या Base64 इनपुट के लिए CRC-32 (zip, PNG, Ethernet), CRC-32C (iSCSI, ext4, SCTP), CRC-32/BZIP2, CRC-32/MPEG-2, CRC-16/ARC, CRC-16/MODBUS, CRC-16/CCITT-FALSE, CRC-16/XMODEM, CRC-16/KERMIT, CRC-8/SMBUS, CRC-8/MAXIM और CRC-64/XZ निकालता है और सभी वेरिएंट एक साथ दिखाता है, ताकि आप अपने डिवाइस या फ़ाइल फ़ॉर्मैट वाला वेरिएंट ढूँढ सकें।
CRC कैलकुलेटर का उपयोग कैसे करें
- हैश करने के लिए टेक्स्ट में टेक्स्ट लिखें, या इनपुट एन्कोडिंग में हेक्स बाइट्स चुनकर किसी फ़्रेम या पैकेट के बाइट पेस्ट करें (स्पेस अनदेखे किए जाते हैं)।
- अपना ज़रूरी CRC प्रकार चुनें; यह सबसे ऊपर दिखता है और सभी CRC प्रकार टेबल में हाइलाइट होता है।
- आउटपुट फ़ॉर्मैट चुनें: हेक्स (छोटे या बड़े अक्षर) या दशमलव।
- चुना हुआ CRC कॉपी करने के लिए कॉपी करें दबाएँ, या बाकी वेरिएंट टेबल से पढ़ें।
उदाहरण
123456789 (text)
cbf43926
CRC-32 चेक मान। टेबल में CRC-32C e3069283, CRC-16/MODBUS 4b37, CRC-16/CCITT-FALSE 29b1 और CRC-64/XZ 995dc9bbdf1939fa भी दिखते हैं।
CRC कैलकुलेटर का उपयोग कब करें
इसका उपयोग सीरियल प्रोटोकॉल (Modbus RTU, XMODEM), फ़ाइल फ़ॉर्मैट (ZIP, PNG, gzip) और स्टोरेज या नेटवर्क सिस्टम (iSCSI, ext4) के चेकसम निकालने या डीबग करने के लिए करें। किसी अज्ञात CRC को पहचानने के लिए भी यह काम आता है: किसी ज्ञात फ़्रेम को टेबल से मिलाकर देखें। सुरक्षा के लिए CRC का उपयोग न करें: यह रैखिक है और इसे आसानी से गढ़ा जा सकता है, इसलिए कोई भी डेटा बदलकर CRC ठीक कर सकता है। इसके बजाय क्रिप्टोग्राफ़िक हैश या MAC का उपयोग करें।
CRC कैलकुलेटर कैसे काम करता है
CRC डेटा को एक बड़े बाइनरी पॉलीनोमियल की तरह मानता है और उसे एक तय जनरेटर पॉलीनोमियल से भाग देकर शेषफल (मॉड्यूलो 2) निकालता है। हर वेरिएंट चौड़ाई, पॉलीनोमियल, प्रारंभिक मान, इनपुट और आउटपुट बिट रिफ़्लेक्ट होते हैं या नहीं, और अंतिम XOR मान (Rocksoft मॉडल) से परिभाषित होता है। यह टूल हर वेरिएंट के लिए 256-एंट्री लुकअप टेबल इस्तेमाल करता है और हर वेरिएंट को उसके कैटलॉग चेक मान से जाँचता है, यानी ASCII स्ट्रिंग 123456789 का CRC (उदाहरण: CRC-32 = cbf43926, CRC-32C = e3069283, CRC-16/MODBUS = 4b37)। नतीजा बिग-एंडियन हेक्स संख्या के रूप में या दशमलव में दिखाया जाता है।
सामान्य उपयोग मामले
- RTU फ़्रेम भेजने से पहले उसका CRC-16/MODBUS निकालें
- ZIP या PNG चंक में रखे CRC-32 की जाँच करें
- नमूना फ़्रेम से पता लगाएँ कि कोई डिवाइस कौन-सा CRC वेरिएंट इस्तेमाल करता है
- स्टोरेज या नेटवर्क टेस्ट डेटा के लिए CRC-32C मान बनाएँ
- एम्बेडेड CRC इम्प्लीमेंटेशन के लिए टेस्ट वेक्टर बनाएँ
सुरक्षा नोट
CRC केवल अनजाने में हुई त्रुटियाँ पकड़ते हैं। ये जानबूझकर किए गए बदलाव से कोई सुरक्षा नहीं देते, क्योंकि सरल रैखिक बीजगणित से CRC दोबारा निकाला या किसी भी मान पर मजबूर किया जा सकता है।
अक्सर पूछे जाने वाले प्रश्न
मुझे कौन-सा CRC वेरिएंट चाहिए?
यह प्रोटोकॉल या फ़ॉर्मैट तय करता है: ZIP/PNG/Ethernet में CRC-32, iSCSI/ext4/Btrfs में CRC-32C, Modbus RTU में CRC-16/MODBUS और XMODEM में CRC-16/XMODEM होता है। अगर पता न हो, तो किसी ज्ञात फ़्रेम को टेबल की सभी पंक्तियों से मिलाकर देखें।
Modbus CRC का निचला बाइट पहले भेजता है, फिर हेक्स अलग क्यों दिखता है?
टूल CRC को बिग-एंडियन हेक्स संख्या के रूप में दिखाता है (जैसे 4b37)। Modbus RTU इसे सबसे कम महत्व वाले बाइट से पहले भेजता है, इसलिए तार पर आपको 37 4B दिखता है।
मेरे हेक्स फ़्रेम का CRC अपेक्षित से अलग क्यों आता है?
पक्का करें कि हेक्स बाइट्स चुना है; टेक्स्ट (UTF-8) में 0–9 और a–f अक्षर खुद हैश होते हैं। साथ ही CRC के बाइट इनपुट से बाहर रखें।
क्या CRC-32 और cksum कमांड एक ही हैं?
नहीं। POSIX cksum अनरिफ़्लेक्टेड CRC-32 पॉलीनोमियल इस्तेमाल करता है और फ़ाइल की लंबाई भी जोड़ता है। zip, gzip और PNG के मानों के लिए यहाँ CRC-32 इस्तेमाल करें।