تصویر: نمودار کلی الگوریتم CRC-32

منتشر شده: ۱۲ ژانویهٔ ۲۰۲۶ ساعت ۹:۱۵:۰۲ (UTC)
آخرین به روز رسانی: ۹ ژانویهٔ ۲۰۲۶ ساعت ۲۲:۰۷:۴۱ (UTC)

تجسم آموزشی الگوریتم هش CRC-32، که نشان می‌دهد چگونه بیت‌های ورودی از طریق یک شیفت رجیستر با بازخورد XOR جریان می‌یابند تا یک جمع مقابله‌ای تولید کنند.


این صفحه ماشینی از انگلیسی ترجمه شد تا در دسترس هر چه بیشتر مردم باشد. متأسفانه، ترجمه ماشینی هنوز یک فناوری کامل نشده است، بنابراین ممکن است خطاهایی رخ دهد. در صورت تمایل می توانید نسخه اصلی انگلیسی را در اینجا مشاهده کنید:

CRC-32 Algorithm Overview Diagram

نموداری به سبک فلوچارت که بیت‌های ورودی را در حال ورود به یک شیفت رجیستر، عبور از منطق XOR با بازخورد و تولید یک چک‌سام CRC-32 برای تشخیص خطا نشان می‌دهد.

نسخه‌های موجود از این تصویر

فایل‌های تصویری که در زیر برای دانلود موجود است، نسبت به تصاویر موجود در مقالات و صفحات این وب‌سایت که برای کاهش مصرف پهنای باند، از نظر حجم فایل بهینه‌تر شده‌اند، فشرده‌سازی کمتری داشته و وضوح بالاتری دارند - و در نتیجه، کیفیت بالاتری دارند.

اندازه معمولی (1,536 x 1,024)

سایز بزرگ (3,072 x 2,048)

سایز بسیار بزرگ (4,608 x 3,072)

سایز فوق العاده بزرگ (6,144 x 4,096)

اندازه‌ی کمیک بزرگ (1,048,576 x 699,051)

  • هنوز در حال آپلود هستم... ;-)

شرح تصویر

تصویر، یک نمودار آموزشی عریض و منظره‌محور با عنوان «الگوریتم هش CRC-32» است که بر روی یک پس‌زمینه تمیز و روشن با یک سربرگ گرادیان آبی قرار گرفته است. جریان اصلی از چپ به راست حرکت می‌کند تا بر ماهیت جریانی فرآیند تأکید کند. در منتهی‌الیه سمت چپ، یک کادر مستطیلی نارنجی با برچسب «داده‌های ورودی (بیت‌ها)» نشان‌دهنده یک جریان ورودی از داده‌های دودویی است. یک فلش ضخیم از این کادر به یک بلوک افقی بلند در مرکز بالا با برچسب «رجیستر شیفت» اشاره می‌کند. رجیستر شیفت به صورت ردیفی از سلول‌های کوچک مجاور نشان داده شده است که نشان می‌دهد بیت‌های داده گام به گام از طریق یک رجیستر حرکت می‌کنند، نه همه به طور همزمان.

از سمت راست شیفت رجیستر، یک فلش منحنی به سمت پایین و راست خم می‌شود و به یک کادر سبز بزرگ با برچسب "CRC-32 Checksum" منتهی می‌شود. این کادر نهایی به صورت بصری به عنوان نتیجه نهایی فرآیند مورد تأکید قرار گرفته است. در زیر کادر سبز دو نقطه گلوله‌ای وجود دارد که نتیجه را به طور کلی خلاصه می‌کنند: یکی نشان می‌دهد که نتیجه یک مقدار هش ۳۲ بیتی است و دیگری توضیح می‌دهد که این مقدار برای تشخیص خطا استفاده می‌شود.

در زیر شیفت رجیستر یک مسیر ثانویه وجود دارد که به صورت بصری توضیح می‌دهد که چگونه بازخورد و منطق بیتی بر رجیستر هنگام پردازش داده‌ها تأثیر می‌گذارند. یک کپسول گرد و آبی روشن با برچسب "Bit Stream" به صورت افقی اجرا می‌شود و نشان می‌دهد که بیت‌های خارج شده از رجیستر به عنوان یک جریان پیوسته در نظر گرفته می‌شوند. از این جریان، مسیری به یک پنل آبی بزرگ و نیمه شفاف با برچسب "عملیات XOR" منتهی می‌شود. در داخل این پنل چندین نماد گیت منطقی با سبک خاص وجود دارد که توسط فلش به هم متصل شده‌اند. این گیت‌ها نمایش‌های عمومی از رفتار OR انحصاری هستند که به جای دقت فنی، به سبکی ساده و آیکون مانند ترسیم شده‌اند.

در پنل XOR، فلش‌ها گیت‌ها را به ترتیب به هم متصل می‌کنند تا نشان دهند که بیت‌ها ترکیب می‌شوند و سپس از طریق چندین مرحله اختلاط منطقی هدایت می‌شوند. یک فلش برجسته با برچسب «بازخورد» از سمت راست بلوک XOR به سمت بالا و به سمت رجیستر شیفت حلقه می‌زند و نشان می‌دهد که بخشی از داده‌های پردازش شده به رجیستر بازگردانده می‌شوند. این فلش حلقه‌ای ضخیم‌تر و تیره‌تر است و ایده بازخورد را بدون مشخص کردن هیچ چندجمله‌ای دقیق یا جزئیات پیاده‌سازی، از نظر بصری واضح می‌کند.

فلش دیگری با برچسب «Shift» از مسیر پایینی منشعب می‌شود و به سمت کادر سبز «CRC-32 Checksum» اشاره می‌کند، که این نکته را تقویت می‌کند که پس از جابجایی و بازخورد مکرر، نتیجه انباشته شده به عنوان مجموع کنترلی ظاهر می‌شود. طرح کلی رنگ از نارنجی برای ورودی، آبی برای پردازش و منطق و سبز برای خروجی استفاده می‌کند و به بیننده کمک می‌کند تا مراحل را به سرعت تشخیص دهد. این طرح از جزئیات فنی سطح پایین اجتناب می‌کند و در عوض بر انتقال مفهوم سطح بالا تمرکز دارد: بیت‌ها وارد می‌شوند، از طریق یک ثبات شیفت حرکت می‌کنند، با منطق XOR در یک حلقه بازخورد ترکیب می‌شوند و در نهایت یک مجموع کنترلی CRC-32 تولید می‌کنند که برای تشخیص خطا استفاده می‌شود.

تصویر مربوط به: ماشین حساب کد هش CRC-32

در Bluesky به اشتراک بگذاریددر فیسبوک به اشتراک بگذاریددر لینکدین به اشتراک بگذاریددر Tumblr به اشتراک بگذاریددر X به اشتراک بگذاریدپین در پینترستدر Reddit به اشتراک بگذارید