ماشین حساب کد هش CRC-32
منتشر شده: ۱۷ فوریهٔ ۲۰۲۵ ساعت ۱۸:۱۳:۱۰ (UTC)
ماشین حساب کد هش که از تابع هش CRC-32 (بررسی افزونگی چرخه ای 32 بیتی) برای محاسبه کد هش بر اساس ورودی متن یا آپلود فایل استفاده می کند.CRC-32 Hash Code Calculator
بررسی افزونگی چرخه ای (CRC) یک کد تشخیص خطا است که معمولاً برای تشخیص تغییرات تصادفی داده های خام استفاده می شود. در حالی که از نظر فنی یک تابع هش رمزنگاری نیست، CRC-32 به دلیل توانایی آن در تولید خروجی با اندازه ثابت (32 بیت) از ورودی با طول متغیر، اغلب به عنوان هش نامیده می شود.
افشای کامل: من پیاده سازی خاصی از تابع هش مورد استفاده در این صفحه را ننوشتم. این یک تابع استاندارد است که در زبان برنامه نویسی PHP گنجانده شده است. من فقط رابط وب را ایجاد کردم تا برای راحتی در اینجا در دسترس عموم قرار دهم.
درباره الگوریتم هش CRC-32
من یک ریاضیدان نیستم، اما سعی می کنم این تابع هش را با یک قیاس ساده توضیح دهم. برخلاف بسیاری از توابع هش رمزنگاری، این یک الگوریتم پیچیده نیست، بنابراین احتمالاً مشکلی ندارد ;-)
تصور کنید نامهای را از طریق پست میفرستید، اما نگران هستید که قبل از رسیدن به دست گیرنده، آسیب ببیند. بر اساس محتوای نامه، یک CRC-32 را محاسبه میکنید و آن را روی پاکت مینویسید. هنگامی که گیرنده نامه را دریافت می کند، سپس می تواند مبلغ چک را نیز محاسبه کند و ببیند آیا با آنچه شما نوشته اید مطابقت دارد یا خیر. اگر اینطور باشد، نامه در طول مسیر آسیبی ندیده یا تغییر نکرده است.
روشی که CRC-32 این کار را انجام می دهد یک فرآیند چهار مرحله ای است:
مرحله 1: اضافه کردن مقداری فضای اضافی (بالشتک)
- CRC کمی فضای اضافی در انتهای پیام اضافه می کند (مانند بسته بندی بادام زمینی در یک جعبه).
- این به آن کمک می کند تا خطاها را راحت تر تشخیص دهد.
مرحله 2: خط کش جادویی (چند جمله ای)
- CRC-32 از یک "خط کش جادویی" ویژه برای اندازه گیری داده ها استفاده می کند.
- این خط کش را مانند الگوی برآمدگی ها و شیارها در نظر بگیرید (این چند جمله ای است، اما نگران آن کلمه نباشید).
- رایج ترین "خط کش" برای CRC-32 یک الگوی ثابت است.
مرحله 3: کشیدن خط کش (فرایند تقسیم)
- اکنون CRC خط کش را روی پیام می کشاند.
- در هر نقطه، بررسی می کند که آیا برآمدگی ها و شیارها در یک راستا قرار دارند یا خیر.
- اگر آنها در یک ردیف قرار نگیرند، CRC یادداشت میکند (این کار با استفاده از XOR ساده، مانند روشن یا خاموش کردن کلیدها انجام میشود).
- به لغزش و چرخاندن سوئیچ ها ادامه می دهد تا به انتهای آن برسد.
مرحله 4: نتیجه نهایی (چک جمع)
- پس از کشیدن خط کش روی کل پیام، یک عدد کوچک (طول 32 بیت) باقی می ماند که نشان دهنده داده های اصلی است.
- این شماره مانند یک اثر انگشت منحصر به فرد برای پیام است.
- این چکسام CRC-32 است.
نسخه ارائه شده در صفحه عملکرد اصلی CRC-32 است که باید برای بهترین سازگاری با سایر سیستم ها از آن استفاده کنید.
من ماشین حساب برای انواع دیگر نیز دارم: