حاسبة CRC (‏CRC-8 وCRC-16 وCRC-32 وCRC-64)

احسب CRC-32 وCRC-32C وCRC-16 (MODBUS وCCITT وXMODEM) وCRC-8 وCRC-64 لنص أو بايتات ست عشرية. كل الأنواع دفعة واحدة، بإخراج ست عشري أو عشري.

CRC-32

يعمل بالكامل في متصفحك. لا يتم رفع بياناتك أبدًا.

ما هو حاسبة CRC؟

فحص التكرار الدوري (CRC) هو مجموع اختباري قصير يُستخدم للكشف عن التغييرات العرضية في البيانات. تحسب هذه الحاسبة 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 لمدخل نصي أو ست عشري أو Base64، وتعرض كل الأنواع دفعة واحدة لتجد النوع الذي يستخدمه جهازك أو صيغة ملفك.

كيفية استخدام حاسبة CRC

  1. اكتب نصًا في النص المراد حساب تجزئته، أو اختر بايتات ست عشرية كترميز للإدخال والصق بايتات إطار أو حزمة (تُتجاهل المسافات).
  2. اختر نوع CRC الذي تحتاجه؛ يظهر في الأعلى ويُظلَّل في جدول جميع أنواع CRC.
  3. اختر تنسيق الإخراج: ست عشري (بأحرف صغيرة أو كبيرة) أو عشري.
  4. اضغط نسخ لنسخ قيمة CRC المحددة، أو اقرأ الأنواع الأخرى من الجدول.

مثال

الإدخال
123456789 (نص)
الإخراج
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 مدخلًا لكل نوع وتتحقق من كل نوع مقابل قيمة التحقق الموثّقة في الفهرس — أي CRC للسلسلة ASCII 123456789 (مثلًا CRC-32 = cbf43926 وCRC-32C = e3069283 وCRC-16/MODBUS = 4b37). تُعرض النتيجة كعدد ست عشري big-endian أو بالنظام العشري.

حالات الاستخدام الشائعة

  • حساب CRC-16/MODBUS لإطار RTU قبل إرساله
  • فحص CRC-32 المخزَّن في جزء ZIP أو PNG
  • معرفة نوع 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 كعدد ست عشري بترتيب big-endian (مثل 4b37). أما Modbus RTU فيرسله بدءًا من البايت الأقل أهمية، لذا ترى على الخط 37 4B.

لماذا يعطي إطاري الست عشري CRC مختلفًا عن المتوقع؟

تأكد من اختيار بايتات ست عشرية؛ ففي وضع نص (UTF-8) تُجزَّأ الأحرف 0–9 وa–f نفسها. واستبعد أيضًا بايتات CRC من المدخل.

هل CRC-32 هو نفسه الأمر cksum؟

لا. يستخدم cksum في POSIX كثيرة حدود CRC-32 غير المعكوسة ويدمج طول الملف أيضًا. استخدم CRC-32 هنا لقيم zip وgzip وPNG.

استكشف المزيد من الفئات