حاسبة المجموع الاختباري
التفاصيل التقنية
كيف تعمل حاسبة المجموع الاختباري
ما الذي تفعله الأداة
تحسب حاسبة المجموع الاختباري (Checksum) مجاميع اختبارية غير تشفيرية للتحقق من سلامة البيانات، مع دعم خوارزميات CRC-16 و CRC-24 و CRC-32 و Adler-32 و Luhn. تقبل كلًا من النص العادي وإدخال بايتات سداسية عشرية خام، مما يتيح لك التحقق من المجاميع الاختبارية مقابل بروتوكولات الشبكة وتنسيقات الملفات وأرقام التعريف. تُعرض النتائج بالصيغة السداسية العشرية والعشرية لتسهيل مقارنتها مع مستندات المواصفات.
حالات استخدام شائعة للمطورين
يستخدم المطورون حاسبات CRC عند تصحيح أخطاء بروتوكولات الشبكة (Ethernet يستخدم CRC-32 و PPP يستخدم CRC-16)، أو التحقق من سلامة الملفات في تنسيقات الأرشفة مثل ZIP و PNG، أو التحقق من أرقام التعريف باستخدام Luhn (بطاقات الائتمان، IMEI). ويستخدم مهندسو الأنظمة المضمنة هذه الأداة للتحقق من أن تطبيقات CRC تطابق المخرجات المتوقعة قبل تفليش البرنامج الثابت أو اختبار إطارات الاتصال التسلسلي.
تنسيقات البيانات أو أنواعها أو متغيراتها
ينتج CRC-16 (CCITT) مجموعًا اختباريًا بطول 16 بت يُستخدم في XMODEM و Bluetooth و USB. وينتج CRC-32 (ISO 3720) قيمة بطول 32 بت تُستخدم في Ethernet و ZIP و PNG. يُعد Adler-32 بديلًا أسرع لـ CRC-32 ويُستخدم في zlib. Luhn mod-10 ليس CRC بل خوارزمية رقم تحقق تُستخدم للتحقق من أرقام بطاقات الائتمان وأكواد ISIN وأرقام IMEI. يتيح وضع إدخال hex إدخال تسلسلات بايتات خام للتحقق على مستوى البروتوكول.
المزالق الشائعة والحالات الطرفية
تحتوي خوارزميات CRC على العديد من متغيرات كثيرات الحدود والتهيئة — يختلف CRC-16-CCITT عن CRC-16-IBM، لذا تأكد دائمًا من المتغير الذي يتوقعه البروتوكول. تكشف المجاميع الاختبارية عن التلف العرضي لكنها لا توفر أي أمان ضد العبث المتعمد؛ استخدم التجزئات التشفيرية لهذا الغرض. عند استخدام وضع إدخال hex، تأكد من إدخال البايتات دون فواصل أو بتنسيق متسق، لأن نصف بايت إضافي سيُزحزح جميع البايتات اللاحقة.
متى تستخدم هذه الأداة بدلًا من الكود
استخدم أداة المتصفح هذه لإجراء فحوصات سريعة عند تصحيح أخطاء إطارات البروتوكول، أو التحقق من رقم بطاقة ائتمان واحد بخوارزمية لوهن (Luhn)، أو مقارنة ناتج CRC بالمواصفة. أمّا للتحقق المجمّع من الملفات، أو خطوط أنابيب CI، أو بناء برمجيات ثابتة للأجهزة المضمنة، فاستخدم مكتبات CRC الأصلية للغة (مثل zlib.crc32 في بايثون، وحزم crc المعتمدة على Buffer في Node) التي يمكنها معالجة التدفقات والاندماج ضمن سير عمل مؤتمت.