حاسبة رمز التجزئة CRC-32C
نُشرت: ١٧ فبراير ٢٠٢٥ م في ٦:٣٩:٥٣ م UTC
حاسبة رمز التجزئة التي تستخدم دالة التجزئة CRC-32C (فحص التكرار الدوري 32 بت، متغير C) لحساب رمز التجزئة بناءً على إدخال النص أو تحميل الملف.CRC-32C Hash Code Calculator
فحص التكرار الدوري (CRC) هو رمز لاكتشاف الأخطاء يستخدم عادة للكشف عن التغييرات العرضية في البيانات الخام. ورغم أنه ليس من الناحية الفنية دالة تجزئة تشفيرية، إلا أن CRC-32 يُشار إليه غالبًا باسم تجزئة نظرًا لقدرته على إنتاج إخراج بحجم ثابت (32 بت) من إدخال بطول متغير. الإصدار المعروض في هذه الصفحة هو متغير CRC-32C، وهو إصدار أحدث "أذكى" (يتميز باكتشاف أفضل للأخطاء) وغالبًا ما يتم تسريعه بالأجهزة على وحدات المعالجة المركزية الحديثة (عبر SSE 4.2).
إفصاح كامل: لم أكتب التنفيذ المحدد لدالة التجزئة المستخدمة في هذه الصفحة. إنها دالة قياسية مضمنة في لغة برمجة PHP. لقد قمت فقط بإنشاء واجهة الويب لجعلها متاحة للجمهور هنا للراحة.
نبذة عن خوارزمية التجزئة CRC-32C
أنا لست عالم رياضيات، ولكنني سأحاول شرح دالة التجزئة هذه باستخدام تشبيه بسيط. وعلى عكس العديد من وظائف التجزئة التشفيرية، فهي ليست خوارزمية معقدة بشكل خاص، لذا فمن المحتمل أن تكون على ما يرام ;-)
تخيل أنك ترسل خطابًا بالبريد، ولكنك قلق من تعرضه للتلف قبل وصوله إلى المتلقي. بناءً على محتوى الخطاب، يمكنك حساب مبلغ اختباري CRC-32 وكتابته على المغلف. عندما يتلقى المتلقي الخطاب، يمكنه أيضًا حساب مبلغ الاختبار ومعرفة ما إذا كان يتطابق مع ما كتبته. إذا كان الأمر كذلك، فهذا يعني أن الخطاب لم يتعرض للتلف أو التغيير أثناء الرحلة.
الطريقة التي يقوم بها CRC-32 بذلك هي عملية مكونة من أربع خطوات:
الخطوة 1: إضافة بعض المساحة الإضافية (الحشو)
- يضيف CRC مساحة إضافية صغيرة في نهاية الرسالة (مثل تعبئة الفول السوداني في صندوق).
- يساعد هذا على اكتشاف الأخطاء بسهولة أكبر.
الخطوة الثانية: المسطرة السحرية (المتعددة الحدود)
- يستخدم CRC-32 "المسطرة السحرية" الخاصة لقياس البيانات.
- فكر في هذه المسطرة كنمط من النتوءات والأخاديد (هذا هو كثير الحدود، ولكن لا تقلق بشأن هذه الكلمة).
- "المسطرة" الأكثر شيوعًا لـ CRC-32 هي النمط الثابت.
الخطوة 3: تحريك المسطرة (عملية القسمة)
- يقوم CRC الآن بتمرير المسطرة عبر الرسالة.
- في كل نقطة، يتم التحقق من محاذاة النتوءات والأخاديد.
- إذا لم يتطابقوا، يقوم CRC بتدوين ملاحظة (يتم ذلك باستخدام XOR بسيط، مثل تشغيل المفاتيح أو إيقاف تشغيلها).
- ويستمر في الانزلاق وتبديل المفاتيح حتى يصل إلى النهاية.
الخطوة 4: النتيجة النهائية (المجموع الاختباري)
- بعد تحريك المسطرة عبر الرسالة بأكملها، يتبقى لديك رقم صغير (طوله 32 بت) يمثل البيانات الأصلية.
- يعتبر هذا الرقم بمثابة بصمة إصبع فريدة للرسالة.
- هذا هو مجموع الاختبار CRC-32.
الإصدار المعروض على الصفحة هو متغير CRC-32C، والذي ينبغي أن يكون المتغير المفضل، خاصة إذا كنت تستخدم وحدة معالجة مركزية تم تسريعها بالأجهزة (SSE 4.2 والإصدارات الأحدث) ولا تحتاج إلى التوافق مع المتغيرات الأخرى.
لدي أيضًا آلات حاسبة للمتغيرات الأخرى: