FreeToGenerate.com

113 خوارزمية مفهرسة، كل واحدة متحقَّق منها بقيمة الفحص المنشورة لها. لا يُرفع شيء.

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

النتيجة

0xcbf43926

هذه تطابق قيمة الفحص التي ينشرها الكتالوج لهذه الخوارزمية.

الوسائط

العرض
32
كثير الحدود
0x04c11db7
القيمة الابتدائية
0xffffffff
عكس المدخل
نعم
عكس المخرج
نعم
‏XOR النهائي
0xffffffff
الصنف
attested

ويُعرف أيضًا بـ CRC-32

كثير الحدود نفسه، نتائج مختلفة

تستعمل هذه الخوارزميات كلها كثير الحدود أعلاه. ولا تختلف إلا في السجل الابتدائي وأعلام العكس وXOR النهائي، وهذا ما تعيده كل واحدة لمدخلك.

CRC-32/BZIP20xfc891918
CRC-32/CKSUM0x765e7680
CRC-32/ISO-HDLC0xcbf43926
CRC-32/JAMCRC0x340bc6d9
CRC-32/MPEG-20x0376e6e7

ولهذا لا يكفي أن توسم قيمةٌ بـ CRC-32 وحدها. فالكتالوج يسجّل هذا الاسم المجرد كنيةً لـ ISO-HDLC، وهو ما يستعمله zip وgzip وPNG، لكن مواصفةً أو تذكرة دعم تقول CRC-32 قد تعني أيًا من هذه الخمس. ولا شيء في القيمة يدل على من أنتجها، فإن اختلف نظامان بمقدار ثابت فهذا أول ما يُستبعَد.

الكتالوج

خوارزمية مستعملة
113
منها بعرض 32 بت
12
تتشارك كثير حدود
5

كيف يُتحقَّق من هذا

ينشر كل مدخل في الكتالوج قيمة فحص: ناتج تطبيق تلك الخوارزمية على السلسلة 123456789. وهذا يجعل البيانات المرجعية مجموعةَ اختباراتها الخاصة، فيُتحقَّق من هذا المحرك بإعادة إنتاج القيم الـ113 المنشورة، لا بموافقة مكتبة أحد آخر. وكل خوارزمية عرضها من مضاعفات الثمانية تنشر كذلك بقية، وهي ثابت ثانٍ مستقل، وتُعاد هي أيضًا.

ويسجّل الكتالوج أيضًا مدى التثبّت من كل مجموعة وسائط، وهذا العمود يستحق الإبقاء. فـ attested تعني أن القيم أُكِّدت في مقابل تنفيذ عامل، وacademic أنها من بحث أو معيار بلا تنفيذ، وthird-party أن التأكيد جاء من طرف آخر. وهو لا يقول شيئًا عن جودة الخوارزمية، بل عن الثقة في الأعداد الستة فحسب.

الوسائط من Catalogue of Parametrised CRC Algorithms (CRC RevEng). لا يُرفع شيء، فالحساب يجري داخل هذا التبويب.

متوفر أيضًا بلغات أخرى: English · Español · Português · Français

حاسبة CRC

احسب CRC بأي من الخوارزميات الـ113 في الكتالوج المعياري، واعرف ما الذي يعنيه صيغتك فعلًا بـ CRC-32.

ما CRC؟

فحص التكرار الدوري عدد قصير يُحسب من كتلة بيانات ليعرف المستقبِل هل وصلت سليمة. وهو ليس تجزئة ولا توقيعًا، بل صُمِّم لالتقاط الحوادث التي يحدثها النقل والتخزين — بتات منقلبة، وبايتات ضائعة، وإطار مبتور — وهو رخيص إلى حد أن إيثرنت وzip وPNG وgzip وكثيرًا من نواقل العتاد تحسب واحدًا لكل ما يمر بها.

والمهم أن تدرك أن CRC ليست خوارزمية واحدة، بل عائلة تصفها ستة وسائط: عرض السجل، وكثير الحدود، وقيمة السجل الابتدائية، وهل تُعكس بتات المدخل، وهل تُعكس بتات المخرج، وقيمة تُطبَّق بـ XOR في النهاية. غيّر أيًا منها تحصل على CRC مختلفة وصحيحة بالقدر نفسه. ويسرد الكتالوج المعياري 113 منها مستعملة فعلًا، من عرض ثلاث بتات إلى اثنتين وثمانين.

وهذه الحاسبة تنفّذ الخوارزمية ذات الوسائط وتحمل الـ113 كلها، فتستطيع حساب ما تنص عليه صيغتك فعلًا لا ما صادف أن سمّته مكتبةٌ ما CRC-32.

كيفية الاستخدام

  1. أعطها مدخلك. نصًا افتراضيًا، أو بدّل إلى بايتات ست عشرية إن كنت تعمل من تفريغ حزم. والافتراضي هو السلسلة 123456789، وهي متجه الاختبار الخاص بالكتالوج نفسه، فأول نتيجة تراها يمكنك البحث عنها في الجدول المنشور.
  2. اختر الخوارزمية. ابحث بالاسم أو الكنية أو كثير الحدود. وكتابة CRC-32 تصل بك إلى ISO-HDLC، وهو ما يعنيه ذلك الاسم مجردًا، وكتابة كثير حدود تُظهر كل ما يستعمله.
  3. انظر لوحة المقارنة. حين تشترك الخوارزمية التي اخترتها في كثير الحدود مع غيرها، تظهر جميعها ومعها ما تعيده كل واحدة لمدخلك. وهذا عادةً أسرع طريق لمعرفة أيها يستعمل النظام الذي تصحّحه فعلًا.

خمس خوارزميات مختلفة تُسمّى CRC-32

اثنتا عشرة من الخوارزميات المفهرسة عرضها اثنتان وثلاثون بتة، وخمس منها تتشارك كثير الحدود 0x04C11DB7: وهي ISO-HDLC وBZIP2 وCKSUM وJAMCRC وMPEG-2. ولا تختلف إلا في السجل الابتدائي وأعلام العكس وXOR النهائي، وتعيد خمسة أعداد مختلفة للمدخل نفسه. فعلى السلسلة 123456789 تعطي على الترتيب 0xCBF43926 و0xFC891918 و0x765E7680 و0x340BC6D9 و0x0376E6E7.

ويسجّل الكتالوج الاسم المجرد CRC-32 كنيةً لـ ISO-HDLC وحدها، وهي التي يستعملها zip وgzip وPNG. لكن مواصفةً أو ورقة بيانات أو تذكرة دعم تقول CRC-32 قد تعني أيًا من الخمس، ولا شيء في القيمة الناتجة يسجّل من أنتجها. فإن اختلف نظامان على قيمة بما يشبه ثابتًا، فهذا أول ما يجدر استبعاده: فهو أكثر شيوعًا بكثير من خطأ نقل حقيقي.

والفخ نفسه يقبع درجةً أدنى، وهو هناك أسوأ. فالكتالوج يسرد إحدى وثلاثين خوارزمية بعرض ست عشرة بتة، وإحدى عشرة منها تتشارك كثير الحدود 0x1021 — ومنها XMODEM وKERMIT وIBM-3740 وIBM-SDLC. وسبع أخرى تتشارك 0x8005، ومنها ARC وMODBUS وUSB. ومن ثم فإن CRC بعرض ست عشرة بتة معرَّفة بكثير حدودها وحده ملتبسةٌ على أحد عشر وجهًا، ولهذا فالسبيل الموثوق الوحيد لتسميتها أن تُذكر الوسائط الستة. ولهذا بالضبط وُجد الكتالوج.

كيف يُتحقَّق من هذا، وما معنى عمود الصنف

ينشر الكتالوج قيمة فحص لكل خوارزمية: ناتج تطبيقها على السلسلة 123456789. وهذا يجعل البيانات المرجعية مجموعةَ اختباراتها الخاصة. ويُتحقَّق من هذا المحرك بإعادة إنتاج القيم الـ113 المنشورة، لا بموافقة مكتبة أخرى؛ فموافقة تنفيذ غيرك لا تثبت إلا أن شخصين اتخذا الخيارات نفسها، أما إعادة إنتاج التعريفات فتثبت أن الوسائط اتُّبعت.

وكل خوارزمية عرضها عدد صحيح من البايتات تنشر كذلك بقية، وهي ثابت ثانٍ مستقل يصف ما يحمله السجل بعد قراءة رسالة صحيحة ملحقة بقيمتها. وتُعاد هذه أيضًا، فتُفحص أكثر المدخلات مرتين بخاصيتين مختلفتين. وثمة ضابط سلبي أيضًا: فمجموعة وسائط أُفسدت عمدًا يجب أن تُخفق في قيمة فحصها، وإلا لنجحت المقارنة كلها مع محرك يكتفي بإعادة الجواب المتوقَّع.

وثمة عمود في الكتالوج يستحق الإبقاء وكثيرًا ما يضيع عند نسخ الجداول. فكل مدخل موسوم attested أو confirmed أو academic أو third-party، وذلك يبيّن مدى التثبّت من الوسائط الستة في مقابل تنفيذ عامل، لا جودة الخوارزمية. فـ attested تعني أن أحدًا قابلها بمخرجات حقيقية، وacademic أنها من بحث أو معيار بلا تنفيذ متاح. وستون من الـ113 attested وثمان وثلاثون academic، فثلث الكتالوج تقريبًا وسائط لم يؤكدها أحد في مقابل شفرة عاملة.

وحدّان معلنان. صُمِّمت CRC ضد الفساد العارض ولا تحمي من أي عبث متعمَّد: فمن يستطيع تغيير بياناتك يستطيع إعادة حساب القيمة، فليست CRC إجراءً أمنيًا قط. والحساب هنا يعالج المدخل بتةً بتة، توخيًا للوضوح ودعمًا للعروض الغريبة؛ وهذا يفي بكل ما تلصقه في صندوق نص، وليس هو ما تحسب به قيمة جيجابايت.

لماذا هي مجانية؟

تعمل داخل متصفحك. وإزاحة سجل ليست عملًا يحتاج خادمًا، فلا شيء يُدفع ثمنه ولا حساب يُنشأ.

لا يُرفع شيء مما تلصقه ولا يُخزَّن ولا يُسجَّل. فالبيانات التي تحسب قيمتها عادةً إطار أو ملف من نظام حقيقي، والطريقة الموثوقة لإبقاء ذلك خاصًا ألا نستقبله أبدًا.