Skip to content

حاسبة المجموع الاختباري CRC

الصق بيانات ست عشرية أو نصاً واحصل على 63 متغيّراً من CRC-8 وCRC-16 وCRC-32 دفعة واحدة. لديك قيمة تحقق لا تستطيع مطابقتها؟ اكتبها لتسمّي الأداة المتغيّر — MODBUS وCCITT-FALSE وXMODEM وKERMIT. يعمل كلياً داخل متصفحك.

بدون تتبّع يعمل في المتصفّح مجاني
كل شيء يُحسب محلياً داخل متصفحك — البيانات التي تلصقها لا تغادر هذا الجهاز أبداً.
جرّب هذه

المتغيّرات الـ63 كلها

كل صفّ يُعاد حسابه أثناء كتابتك.
المتغيّر الناتج كثير الحدود القيمة الابتدائية عكس الإدخال/الإخراج أو حصري ختامي
CRC-8
CRC-8/AUTOSAR 0x2F 0xFF false / false 0xFF
CRC-8/BLUETOOTH 0xA7 0x00 true / true 0x00
CRC-8/CDMA2000 0x9B 0xFF false / false 0x00
CRC-8/DARC 0x39 0x00 true / true 0x00
CRC-8/DVB-S2 0xD5 0x00 false / false 0x00
CRC-8/GSM-A 0x1D 0x00 false / false 0x00
CRC-8/GSM-B 0x49 0x00 false / false 0xFF
CRC-8/HITAG 0x1D 0xFF false / false 0x00
CRC-8/I-432-1 CRC-8/ITU 0x07 0x00 false / false 0x55
CRC-8/I-CODE 0x1D 0xFD false / false 0x00
CRC-8/LTE 0x9B 0x00 false / false 0x00
CRC-8/MAXIM-DOW CRC-8/MAXIM · DOW-CRC 0x31 0x00 true / true 0x00
CRC-8/MIFARE-MAD 0x1D 0xC7 false / false 0x00
CRC-8/NRSC-5 0x31 0xFF false / false 0x00
CRC-8/OPENSAFETY 0x2F 0x00 false / false 0x00
CRC-8/ROHC 0x07 0xFF true / true 0x00
CRC-8/SAE-J1850 CRC-8/J1850 0x1D 0xFF false / false 0xFF
CRC-8/SMBUS CRC-8 0x07 0x00 false / false 0x00
CRC-8/TECH-3250 CRC-8/AES · CRC-8/EBU 0x1D 0xFF true / true 0x00
CRC-8/WCDMA 0x9B 0x00 true / true 0x00
CRC-16
CRC-16/ARC CRC-16 · CRC-16/IBM · CRC-16/LHA 0x8005 0x0000 true / true 0x0000
CRC-16/CDMA2000 0xC867 0xFFFF false / false 0x0000
CRC-16/CMS 0x8005 0xFFFF false / false 0x0000
CRC-16/DDS-110 0x8005 0x800D false / false 0x0000
CRC-16/DECT-R R-CRC-16 0x0589 0x0000 false / false 0x0001
CRC-16/DECT-X X-CRC-16 0x0589 0x0000 false / false 0x0000
CRC-16/DNP 0x3D65 0x0000 true / true 0xFFFF
CRC-16/EN-13757 0x3D65 0x0000 false / false 0xFFFF
CRC-16/GENIBUS CRC-16/DARC · CRC-16/EPC · CRC-16/EPC-C1G2 · CRC-16/I-CODE 0x1021 0xFFFF false / false 0xFFFF
CRC-16/GSM 0x1021 0x0000 false / false 0xFFFF
CRC-16/IBM-3740 CRC-16/CCITT-FALSE · CRC-16/AUTOSAR 0x1021 0xFFFF false / false 0x0000
CRC-16/IBM-SDLC CRC-16/X-25 · CRC-16/X25 · CRC-16/ISO-HDLC · CRC-B · X-25 0x1021 0xFFFF true / true 0xFFFF
CRC-16/ISO-IEC-14443-3-A CRC-A 0x1021 0xC6C6 true / true 0x0000
CRC-16/KERMIT CRC-16/CCITT · CRC-16/CCITT-TRUE · CRC-16/V-41-LSB · CRC-CCITT 0x1021 0x0000 true / true 0x0000
CRC-16/LJ1200 0x6F63 0x0000 false / false 0x0000
CRC-16/M17 0x5935 0xFFFF false / false 0x0000
CRC-16/MAXIM-DOW CRC-16/MAXIM 0x8005 0x0000 true / true 0xFFFF
CRC-16/MCRF4XX 0x1021 0xFFFF true / true 0x0000
CRC-16/MODBUS 0x8005 0xFFFF true / true 0x0000
CRC-16/NRSC-5 0x080B 0xFFFF true / true 0x0000
CRC-16/OPENSAFETY-A 0x5935 0x0000 false / false 0x0000
CRC-16/OPENSAFETY-B 0x755B 0x0000 false / false 0x0000
CRC-16/PROFIBUS CRC-16/IEC-61158-2 0x1DCF 0xFFFF false / false 0xFFFF
CRC-16/RIELLO 0x1021 0xB2AA true / true 0x0000
CRC-16/SPI-FUJITSU CRC-16/AUG-CCITT 0x1021 0x1D0F false / false 0x0000
CRC-16/T10-DIF 0x8BB7 0x0000 false / false 0x0000
CRC-16/TELEDISK 0xA097 0x0000 false / false 0x0000
CRC-16/TMS37157 0x1021 0x89EC true / true 0x0000
CRC-16/UMTS CRC-16/BUYPASS · CRC-16/VERIFONE 0x8005 0x0000 false / false 0x0000
CRC-16/USB 0x8005 0xFFFF true / true 0xFFFF
CRC-16/XMODEM CRC-16/ACORN · CRC-16/LTE · CRC-16/V-41-MSB · ZMODEM 0x1021 0x0000 false / false 0x0000
CRC-32
CRC-32/AIXM CRC-32Q 0x814141AB 0x00000000 false / false 0x00000000
CRC-32/AUTOSAR 0xF4ACFB13 0xFFFFFFFF true / true 0xFFFFFFFF
CRC-32/BASE91-D CRC-32D 0xA833982B 0xFFFFFFFF true / true 0xFFFFFFFF
CRC-32/BZIP2 CRC-32/AAL5 · CRC-32/DECT-B · B-CRC-32 0x04C11DB7 0xFFFFFFFF false / false 0xFFFFFFFF
CRC-32/CD-ROM-EDC 0x8001801B 0x00000000 true / true 0x00000000
CRC-32/CKSUM CRC-32/POSIX 0x04C11DB7 0x00000000 false / false 0xFFFFFFFF
CRC-32/ISCSI CRC-32C · CRC-32/BASE91-C · CRC-32/CASTAGNOLI · CRC-32/INTERLAKEN 0x1EDC6F41 0xFFFFFFFF true / true 0xFFFFFFFF
CRC-32/ISO-HDLC CRC-32 · CRC-32/ADCCP · CRC-32/V-42 · CRC-32/XZ · PKZIP 0x04C11DB7 0xFFFFFFFF true / true 0xFFFFFFFF
CRC-32/JAMCRC 0x04C11DB7 0xFFFFFFFF true / true 0x00000000
CRC-32/MEF 0x741B8CD7 0xFFFFFFFF true / true 0x00000000
CRC-32/MPEG-2 0x04C11DB7 0xFFFFFFFF false / false 0x00000000
CRC-32/XFER 0x000000AF 0x00000000 false / false 0x00000000
معاملات مخصّصة

استعمل هذا حين يوثّق جهازك كثير حدود غير موجود في الجدول أعلاه.

الناتج
جميع مجموعات معاملات المتغيّرات الـ63 مُثبَّتة في مجموعة الاختبارات مقابل قيم الاختبار الذاتي المنشورة في الفهرس، ويُقابَل CRC-32/ISO-HDLC بدالة zlib.crc32 المدمجة في Node بوصفها مرجعاً مستقلاً. — فريق Go Tools · Sep 6, 2026

بناه وتحقّق منه فريق هندسة Go Tools.

إجابات سريعة

قيمة CRC-32 للسلسلة «123456789»

0xCBF43926 0xCBF43926 للمتغيّر CRC-32/ISO-HDLC، وهو المستعمل في ZIP وPNG وEthernet وgzip.

قيمة CRC-16/MODBUS للسلسلة «123456789»

0x4B37 0x4B37، بكثير حدود 0x8005 وقيمة ابتدائية 0xFFFF، مع عكس الإدخال والإخراج وبلا أو حصري ختامي.

قيمة CRC-16/CCITT-FALSE للسلسلة «123456789»

0x29B1 0x29B1. واسمه الرسمي في الفهرس هو CRC-16/IBM-3740: كثير حدود 0x1021، وقيمة ابتدائية 0xFFFF، وبلا عكس.

كم عدد متغيّرات CRC الموجودة؟

63 تغطّي هذه الحاسبة 63 متغيّراً مفهرساً: 20 بعرض 8 بتات، و31 بعرض 16 بتاً، و12 بعرض 32 بتاً.

ما هو CRC؟

يعامل التحقق الدوري بالتكرار كتلة البيانات بوصفها معاملات كثير حدود ثنائي طويل جداً، فيقسمها على كثير حدود مولِّد ثابت بحساب النميط 2، ويحتفظ بالباقي. وذلك الباقي هو قيمة التحقق. وهذه البنية شائعة لأن القسمة تختزل إلى إزاحات وعمليات أو حصري لا تكاد تكلّف شيئاً في العتاد، ولأن الجبر يمنح ضمانات صارمة لا آمالاً إحصائية: فكثير حدود ذو 16 بتاً حسن الاختيار يكشف كل خطأ أحادي البت، وكل خطأ ثنائي البت ضمن طول كتلة مفيد، وكل عدد فردي من انقلابات البتات، وكل دفقة لا تتجاوز 16 بتاً متتالياً تالفاً.

والذي يجعل CRC مربكاً في الممارسة أن كثير الحدود واحد من ستة معاملات لا أكثر. فقد يتفق تطبيقان على كثير الحدود ثم يختلفان في كل ناتج، لأنهما يفترقان في القيمة الابتدائية للسجل، وفي عكس ترتيب بتات بايتات الإدخال وسجل الإخراج من عدمه، وفي الثابت الذي يُطبَّق عليه أو الحصري في النهاية. فمتغيّر CRC هو مجموعة المعاملات كاملةً لا كثير الحدود وحده — ولهذا لا يعرّف اسم مثل «CRC-16» شيئاً يُذكر بمفرده، ولهذا تعرض هذه الصفحة بجوار كل ناتج كثير الحدود والقيمة الابتدائية وراية العكس بشقّيها وأو الحصري الختامي، مع العرض بالبت عنواناً للمجموعة.

وثمّة تحفّظ لا يستطيع الجدول إظهاره: لا يكشف كثير الحدود ذو 16 بتاً كل عدد فردي من انقلابات البتات إلا إذا كان x+1 يقسمه. وهذا متحقّق في الاثنين اللذين يُرجَّح أن تصادفهما، 0x1021 و0x8005، لا في جميعها — فـCRC-16/T10-DIF وCRC-16/PROFIBUS من الاستثناءات.

// CRC-16/MODBUS: poly=0x8005, init=0xFFFF, refin/refout=true, xorout=0x0000
// Written in the reflected form, so the polynomial appears bit-reversed as 0xA001.
function crc16Modbus(bytes) {
  let crc = 0xffff;
  for (const byte of bytes) {
    crc ^= byte;
    for (let i = 0; i < 8; i++) {
      crc = crc & 1 ? (crc >>> 1) ^ 0xa001 : crc >>> 1;
    }
  }
  return crc;
}

crc16Modbus([0x01, 0x03, 0x00, 0x00, 0x00, 0x0a]); // 0xCDC5
// On the wire Modbus RTU sends the low byte first: ... 0x0A 0xC5 0xCD

ماذا تفعل هذه الحاسبة

63 متغيّراً دفعة واحدة

يُعاد حساب CRC-8 وCRC-16 وCRC-32 معاً أثناء كتابتك. بلا قائمة منسدلة تخمّن فيها قبل أن ترى شيئاً.

بحث عكسي عن المتغيّر

اكتب قيمة التحقق التي أُعطيت لك فتُبرَز المتغيّرات التي تنتجها، فيصبح التعرّف على خوارزمية مجهولة خطوةً واحدة بدل عشرين.

الأسماء الرسمية وأسماء الأدلة

يعرض كل صف اسم فهرس RevEng إلى جانب الأسماء البديلة المستعملة في الميدان — CCITT-FALSE وCRC-16/IBM وCRC-32C وX-25 وغيرها.

جدول معاملات كامل

كثير الحدود والقيمة الابتدائية وعلَما العكس وأو الحصري الختامي تقف كلها بجوار كل ناتج، فتستطيع التحقق من المطابقة أمام المواصفة.

معاملات مخصّصة

العرض وكثير الحدود والقيمة الابتدائية والعكس وأو الحصري الختامي كلها قابلة للتحرير، من أجل كثيرات الحدود التي لم تدخل أي فهرس قط.

يعمل بلا اتصال تماماً

الحساب يجري داخل متصفحك. وأطر الإنتاج وصور البرامج الثابتة لا تغادر هذا الجهاز أبداً.

أمثلة محلولة

قيمة التحقق المعيارية في الفهرس

123456789
CRC-32/ISO-HDLC = 0xCBF43926, CRC-16/MODBUS = 0x4B37, CRC-8/SMBUS = 0xF4

كل متغيّر CRC في فهرس RevEng ينشر ناتجه للسلسلة النصية ASCII 123456789. وهذا ما يجعل هذا الإدخال هو الاختبار الذاتي المعياري: فإن خالفت مكتبةٌ ما الجدول المعروض هنا، فالمكتبة هي المخطئة.

إطار طلب Modbus RTU

01 03 00 00 00 0A
CRC-16/MODBUS = 0xCDC5

قراءة سجلات الاحتفاظ من التابع رقم 1. يُلحق Modbus RTU بايت CRC الأدنى أولاً، فيسير هذا الإطار على الخط بالصورة 01 03 00 00 00 0A C5 CD — وهذا الانعكاس يفسّر حصة كبيرة من قيم التحقق التي يعجز الناس عن مطابقتها.

البايتات نفسها، أربعة نواتج CRC-16

DEADBEEF
MODBUS = 0xC19B, CCITT-FALSE = 0x4097, XMODEM = 0xC457, KERMIT = 0x1915

يُقرأ بنمط ست عشري، فهي أربعة بايتات لا الأحرف الثمانية للسلسلة. وتختلف متغيّرات CRC-16 الأربعة الأشهر عليها اختلافاً تاماً. ولا شيء معطوب هنا: الفرق بينها في القيمة الابتدائية والعكس وأو الحصري الختامي، لا في الصحة.

بحث عكسي انطلاقاً من ردّ جهاز

123456789 with expected value 0x29B1
CRC-16/IBM-3740 (your manual may call it CRC-16/CCITT-FALSE)

هذه هي الحالة التي بُنيت الحاسبة من أجلها. لديك البيانات ولديك قيمة التحقق التي حسبها شخص آخر، لكن اسم المتغيّر مفقود — فتبحث عن مجموعة المعاملات التي تعيد إنتاجه.

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

  1. 1

    اختر النص أو الست عشري

    أطر البروتوكولات ست عشرية دائماً تقريباً. ولا تستعمل وضع النص إلا حين تحسب قيمة تحقق لسلسلة نصية حرفية، مثل قيمة الاختبار الذاتي 123456789.

  2. 2

    الصق بياناتك

    في الوضع الست عشري تُتجاهل الفواصل، فالصيغ 01 03 00 00 00 0A و0x01 0x03 و010300 00000A كلها مقبولة.

  3. 3

    اقرأ المتغيّر الذي تحتاجه

    الجدول مجمَّع حسب العرض. والأسماء الرسمية مأخوذة من فهرس RevEng، وتحتها الأسماء البديلة التي يرجَّح أن يستعملها دليل جهازك.

  4. 4

    أو اعمل بالاتجاه المعاكس

    إن كانت قيمة التحقق بين يديك وأردت معرفة متغيّرها، فاكتبها في صندوق القيمة المتوقعة واقرأ الصف المُبرَز.

لماذا لا تطابق قيمة التحقق لديك

حساب قيمة تحقق للنص «01 03» بدل البايتين

إن بقيتَ في وضع النص، حسبت الحاسبة محارف ASCII لمقطعك الست عشري بدل البايتات التي يمثّلها. بدّل إلى الوضع الست عشري — وعدّاد البايتات أسفل مبدّل الوضع يخبرك أي قراءة حصلت عليها.

✗ خطأ
Text mode, input "01 03" -> 5 bytes: 30 31 20 30 33
✓ صحيح
Hex mode, input "01 03" -> 2 bytes: 01 03

المقارنة بقيمة تحقق مقلوبة البايتات

يرسل Modbus RTU بايت CRC الأدنى أولاً. فالإطار المنتهي بـC5 CD قيمة تحققه 0xCDC5 لا 0xC5CD.

✗ خطأ
expected 0xC5CD  (bytes read in transmission order)
✓ صحيح
expected 0xCDC5  (bytes reassembled low-byte-first)

إدخال حقل قيمة التحقق في حسابه نفسه

يغطّي CRC البايتات التي تسبقه. وإعادة تغذية الإطار كاملاً بذيله تنتج بقيّة لا قيمة تحقق.

✗ خطأ
01 03 00 00 00 0A C5 CD    <- trailer included
✓ صحيح
01 03 00 00 00 0A          <- payload only

افتراض أن «CRC-16» يعيّن خوارزمية

واحد وثلاثون متغيّراً مفهرساً عرضها 16 بتاً. وبدون المعاملات الخمسة الأخرى لا يضيّق هذا الاسم شيئاً.

✗ خطأ
spec says: "trailer is a CRC-16"
✓ صحيح
spec says: "CRC-16/MODBUS, poly 0x8005, init 0xFFFF, refin/refout true"

متى تحتاج إلى هذه الأداة

تشخيص وصلة Modbus
يرفض متحكّم منطقي مبرمَج أطرك، وتحتاج إلى معرفة ما إذا كانت قيمة CRC خاطئة أم مجرّد مقلوبة البايتات. احسب CRC-16/MODBUS وقارن الترتيبين.
التعرّف على بروتوكول غير موثَّق
التقطتَ حركة مرور بذيل من بايتين يبدو أنه قيمة تحقق. أعطِ الحمولة والذيل للبحث العكسي وانظر أي متغيّر يدّعيهما.
نقل برنامج ثابت بين سلاسل الأدوات
مكتبة المورّد وتطبيقك الخاص لا يتفقان. ومقارنة الاثنين بقيمة التحقق المعيارية في الفهرس تكشف أيّهما انحرف.
كتابة مواصفة أو مراجعتها
تسمية «CRC-16» في وثيقة بروتوكول تضمن ظهور عيوب في التشغيل البيني. وجدول المعاملات يعطيك القيم الست التي تثبّت الخوارزمية فعلاً.
التحقق من البيانات المخزّنة
أنظمة الملفات وصيغ الأرشفة وصور الذاكرة الوميضية تحمل حقول CRC-32. وإعادة حساب أحدها تخبرك ما إذا كانت الكتلة قد نجت سليمة.

كيف يعمل CRC

تمثيل كثير الحدود
يطبع الجدول كثيرات الحدود بالصيغة العادية (البت الأعلى أولاً): فـ0x8005 يعني x^16 + x^15 + x^2 + 1. والتطبيقات المعكوسة تعرض كثير الحدود نفسه غالباً بالصورة 0xA001، وترميز Koopman يزيحه بطريقة ثالثة. وثلاثة ترميزات لكثير حدود واحد مصدر شائع لفشل عمليات النقل.
القيمة الابتدائية
بدء السجل عند 0xFFFF بدل 0x0000 يجعل قيمة التحقق حسّاسة لبايتات الصفر المتصدّرة. فمع قيمة ابتدائية صفرية، لا تغيّر إضافة أصفار في مقدمة الرسالة قيمة CRC — وهذا بالضبط نوع التلف الذي يحتاج بروتوكول مؤطَّر إلى كشفه.
العكس
يعكس refin البتات داخل كل بايت إدخال، ويعكس refout السجل النهائي. فالعتاد ينقل البتات بالبت الأعلى أولاً، بينما تجد البرمجيات الموجَّهة بالبايت أن البت الأدنى أولاً أرخص، وصيغ المعاملات المعكوسة توفّق بين الاثنين.
أو الحصري الختامي (xorout)
يُطبَّق xorout في النهاية، وهو ليس مجرد init عند الطرف الآخر. فبايتات الصفر المضافة إلى الرسالة تُكشَف في الحالتين معاً. أما ما يغيّره xorout غير الصفري فهو الباقي الذي يحصل عليه المستقبِل حين يمرّر CRC على الرسالة وقيمة التحقق معاً: فحين يكون xorout صفراً يكون ذلك الباقي صفراً هو نفسه، فتمرّ الأصفار المضافة بعد حقل CRC دون أن تُكشَف. وهو يجعل الرسالة الصفرية بالكامل تنتج قيمة تحقق غير صفرية كذلك.
قيمة الاختبار الذاتي
كل متغيّر مفهرس ينشر ناتجه للسلسلة النصية ASCII 123456789. والقيم الـ63 المعروضة في هذه الصفحة عند تحميل ذلك الإدخال هي بالضبط تلك الثوابت المنشورة، وبها يُختبر المحرّك الذي يشغّل هذه الصفحة.

كيف تحصل على نتيجة مطابقة

سمِّ المعاملات لا الخوارزمية
اكتب في المواصفات poly 0x1021, init 0xFFFF, refin false, refout false, xorout 0x0000. فالاسم «CRC-16/CCITT» دلّ على ثلاثة أشياء مختلفة على الأقل.
افحص ترتيب البايتات على حدة
حين تكون قيمة التحقق على بُعد تبديل بايتين واحد من المطابقة، فالخوارزمية صحيحة والخطأ في التأطير. عامِل الأمرين على أنهما عيبان مختلفان.
تحقّق من قيمة الاختبار الذاتي أولاً
قبل تشخيص بياناتك، أكّد أن تطبيقك يعيد قيمة الفهرس للإدخال 123456789. فهذا يفصل الخوارزمية المعطوبة عن الإدخال المعطوب في ثوانٍ.
كن صريحاً في ما يشمله الحساب
معظم حالات عدم التطابق تأتي من إدراج علامات البداية أو العناوين أو حقول الطول أو استبعادها. قرّر بالضبط أي البايتات يغطّيها CRC ودوّن ذلك.
لا تستعمل CRC حيث يلزم رمز توثيق رسالة
CRC خطّي ويسهل تزويره تماماً. فإن كان بوسع خصم تعديل البيانات، استعمل مولّد HMAC بدلاً منه.

أسئلة شائعة

لماذا يعيد جهازي قيمة CRC مختلفة عمّا تعطيه هذه الحاسبة؟
في الغالب لأنك تقارن متغيّرين مختلفين. فـCRC-16 وحده له 31 مجموعة معاملات مفهرسة، وMODBUS وCCITT-FALSE وXMODEM وKERMIT تنتج أربعة أعداد لا رابط بينها من البايتات ذاتها. ضع قيمة الجهاز في صندوق القيمة المتوقعة: فإن أعاد أي متغيّر إنتاجها أُبرز الصف المطابق وحصلت على جوابك. وإن لم يطابقها شيء، فالبيانات التي تُحسب ليست ما تظنّه — راجع ترتيب البايتات، وراجع ما إذا كانت علامات بداية الإطار ونهايته داخلة في الحساب.
أي CRC-16 يستخدمه Modbus؟
هو CRC-16/MODBUS: كثير الحدود 0x8005، والقيمة الابتدائية 0xFFFF، والإدخال والإخراج معكوسان، وبلا أو حصري ختامي. وموطن اللبس المتكرر هو ترتيب الإرسال لا الخوارزمية — إذ يرسل Modbus RTU بايت CRC الأدنى أولاً، فالإطار الذي قيمة تحققه 0xCDC5 يحمل في ذيله البايتين C5 CD. وللاطلاع على إطار محلول خطوة بخطوة، انظر دليل متغيّرات التحقق الدوري.
ما الفرق بين CRC-16/CCITT وCRC-16/CCITT-FALSE؟
هما خوارزميتان مختلفتان باسمين متشابهين إلى حدّ مربك، ولهذا أعاد فهرس RevEng تسميتهما معاً. فما يسمّيه الناس CCITT-FALSE هو في الحقيقة CRC-16/IBM-3740: قيمة ابتدائية 0xFFFF وبلا عكس. وما يُقصد عادةً بـCCITT المجرّدة هو CRC-16/KERMIT: قيمة ابتدائية 0x0000 مع عكس الإدخال والإخراج معاً. وتعرض هذه الحاسبة الاسم الرسمي والاسم الذي يرجَّح أن يستعمله دليل جهازك جنباً إلى جنب.
هل يكشف CRC أن ملفاً قد عُبث به؟
لا. CRC شيفرة لكشف الأخطاء صُمّمت للتلف العرضي على قناة مشوّشة، وهي خطّية — إذ يستطيع أي شخص تعديل رسالة ثم ضبطها لتبقى قيمة CRC مطابقة. ولحماية السلامة أمام مهاجم متعمّد استعمل دالة تجزئة تعموية مثل مولّد SHA-256، أو بنية موثَّقة مثل HMAC. فـCRC ممتاز فيما بُني له، ولا يقدّم أمناً على الإطلاق.
ماذا يفعل refin وrefout فعلياً؟
يعكس refin ترتيب البتات داخل كل بايت إدخال قبل تغذيته إلى السجل، ويعكس refout ترتيب بتات السجل النهائي. وهما موجودان لأن سجلات الإزاحة العتادية وتطبيقات الجداول البرمجية تنقل البتات في اتجاهين متعاكسين، والصيغ المعكوسة تتيح للاثنين بلوغ العدد ذاته. وهما ليسا ترتيب البايتات: فالعكس يعمل على البتات داخل البايت الواحد، بينما يقرّر ترتيب البايتات تسلسل البايتات نفسها.
لا أملك إلا قيمة التحقق دون البيانات. هل تستطيع الأداة أن تعمل بالعكس؟
لا، ولا تستطيع ذلك أي أداة. فـCRC يضغط رسالة مهما طالت في 8 أو 16 أو 32 بتاً، فتتشارك رسائل لا تُحصى القيمة الواحدة نفسها — وليست المسألة مسألة جهد. أما البحث العكسي في هذه الصفحة فيجيب عن سؤال أضيق: إذا توفّرت البيانات مع قيمة تحقق حسبها أحدهم منها، فأي مجموعة معاملات تربط بينهما. وإن كنت قد التقطت استجابة جهاز دون الحمولة التي وراءها، فالتقط الحمولة أولاً. وللاختيار بين العروض بدل تحديد متغيّر بعينه، انظر دليل متغيّرات التحقق الدوري.
لماذا تعرض الحاسبة 63 متغيّراً بينما لا يذكر جهازي إلا واحداً؟
لأن السؤال المفيد عادةً ليس «احسب قيمة CRC» بل «أيٌّ من هذه المتغيّرات أنتج القيمة التي بين يديّ». والأدوات التي تجبرك على اختيار المتغيّر أولاً تفترض أنك تعرف الجواب سلفاً. أما عرض كل المتغيّرات دفعة واحدة فيحوّل التعرّف إلى عملية بحث واحدة، وتتيح لك أعمدة المعاملات تأكيد المطابقة أمام المواصفة بدل الوثوق باسم مجرّد.
هل تُرسَل بياناتي إلى أي جهة؟
لا. يجري الحساب كله داخل متصفحك بالمحرّك ذاته الذي رسم الجدول في هذه الصفحة — بلا رفع وبلا استدعاء لواجهة برمجية وبلا تسجيل. يمكنك قطع الاتصال بالشبكة وستستمر الأداة في العمل، وهذا مهم لأن مدخلات CRC كثيراً ما تكون أطر إنتاج أو صور برامج ثابتة.

أدوات ذات صلة

عرض جميع الأدوات →

فك تشفير AES — يدعم OpenSSL/CryptoJS

أدوات الأمن

فك تشفير AES أونلاين — GCM/CBC/CTR، عبارة مرور أو مفتاح خام، يكتشف تلقائيًا صيغة OpenSSL وCryptoJS "U2FsdGVkX1". يعمل 100% داخل المتصفح، والمفاتيح لا تغادر الصفحة أبدًا.

أداة تشفير AESGCM/CBC/CTR

أدوات الأمن

أداة تشفير AES مجانية أونلاين — AES-128/192/256، GCM/CBC/CTR، عبارة مرور (PBKDF2) أو مفتاح خام. تعمل 100% داخل متصفحك؛ لا شيء يُرفع.

مولّد تجزئة bcrypt والتحقق منها

أدوات الأمن

ولّد تجزئات كلمات المرور بـ bcrypt وتحقق منها أونلاين — تكلفة قابلة للضبط، بادئات $2b$/$2a$/$2y$. 100% في متصفحك؛ كلمة مرورك لا تُرفع أبداً.

مولّد HMAC ومدقّق التوقيع

أدوات الأمن

مولّد ومدقّق HMAC مجاني أونلاين. احسب HMAC-SHA256/SHA1/SHA384/SHA512 بمفاتيح Text أو Hex أو Base64 وإخراج Hex/Base64/Base64URL. كل شيء داخل متصفحك — المفاتيح لا تغادر الصفحة.

محلّل JWT — فك ترميز الرموز

أدوات الأمن

فك ترميز رموز JWT أونلاين مع محلّل JWT المجاني. افحص الترويسة والحمولة والتوقيع وانتهاء الصلاحية والخوارزمية والمطالبات فوراً. 100% في المتصفح — رمزك لا يغادر جهازك. بلا تسجيل، بلا تتبّع.

مُنشئ وترميز JWT

أدوات الأمن

مولّد ومرمّز JWT مجاني أونلاين. ابنِ الترويسة والحمولة، ووقّع بـ HS256 أو RS256 أو ES256 فوراً. 100% في المتصفح — سرّك ومفتاحك لا يغادران جهازك.