سلام دوستان ببخشين من سوالم اينجا مطرح كردم ميخاهم بدونم اين كد كة با
crc32 جى هست
يا بكم crc32 جى هست
CRC یک کد ای است که برای تشخیص صحت انتقال داده ازش استفاده می کنند. مثلا شما اگه بخواهید یک فایل zip
یک گیگابایتی رو از اینترنت یا از روی DVD کپی کنید، ممکنه که به دلیل پارازیت روی خط اینترنت یا خش روی DVD
قسمتی از داده های فایل خراب شه و تغییر کنه. اما بررسی بایت به بایت این فایل خیلی مشکله. چطوری مطمئن
شویم که این فایل دقیقا همانطوری که هست کامل و سالم دریافت شده؟ CRC به ما کمک بزرگی می کنه.
Cyclic redundancy check یا CRC یک فرمول ریاضی خاص هست که برای یک داده ورودی یک کد رمزی کوتاه ایجاد می کنه
یعنی CRC یک فرمول و الگوریتم مشخصی داره و برای هر داده ای (مثلا محتویات یک فایل) یک کد عددی چند رقمی
می سازه. مثلا در CRC32 که 32 بیتی است، یک کد 32 بیتی مثل 458BE39A یا 67B4A683
کد CRC مثل اثر انگشت آدم ها منحصر بفرد و یکتا است، یعنی هر داده ای کد CRC خاص خودش رو داره.
این چیزی که خیلی مهمه اینه که دو داده متفاوت، حتی اگه فقط یک کمی با هم فرق داشته باشند، کد های CRC
کاملا متفاوتی دارند. یعنی خیلی خیلی احتمالش کم هست که شما دو فایلی داشته باشید که متفاوت باشند،
ولی کد CRC شون مثل هم باشه.
مثلا عبارت THIS IS MY TEST و THIS IS MO TEST شبیه هم هستند و فقط حرف Y به O تغییر کرده، اما کد CRC32
اولی 8683EAB0 و دومی 530C0B36 است.
حالا چطور از CRC استفاده می کنیم؟ فرضا شما موقع داونلود فایل های zip از اینترنت، کد CRC32 محتویاتش رو هم
دریافت می کنید، چون فایل های zip کد CRC32 رو هم داخل خودشون ذخیره می کنند. زمانی که فایل از حالت
فشرده خارج شد، WinRar یا WinZip یا ... از داده های که از حالت فشرده خارج کرده کد CRC32 رو محاسبه می کنند.
اگه این کد CRC32 با اون کد CRC32 که در فایل zip ذخیره شده، یکسان بود، فایل کاملا سالم دریافت شده.
اما اگه این دو تا کد CRC32 با هم فرق داشتند، فایل خراب شده و درست نیست.