Checksum چیست و چگونه از آن استفاده کنیم؟
سلام .. این بار موضوعی مهم رو باهاش آشنا میشیم که بابک عزیز فوق العاده توضیح داده ...
نمیدانم تا به حال اسم MD5 Checksum به چشم و گوشتان خورده است یا نه. شاید در صفحات دانلود آن را دیده باشید. هر فایل نسبت به محتویاتش میتواند یک Checksum داشته باشد که این Checksum ها در اکثر موارد با الگوریتم MD5 کدگذاری میشوند اما نیازی نیست که حتمآ این طور باشد.
حالا اصلآ به چه درد میخوره؟
Checksum در اصل اثر انگشت فایل ها است. وقتی شما فایلی را از جایی دانلود میکنید ممکن است همان فایل واقعی نباشد و با یک فایل مخرب عوض شده باشد. یا اینکه فایلتان نصفه و نیمه دانلود شده باشد. وقتی اثر انگشت فایلتان را بدانید میتوانید قبل از اجرا آن را چک کنید تا مطمئن شوید این همانی است که شما میخواستید.
چطوری باید ازش استفاده کرد؟
فرض کنید میخواهیم برنامه Restorator 2007 را دانلود کنیم. در صفحهی دانلود کد MD5 به ما داده شده است.
حالا باید Checksum فایلی که دانلود کردهایم توسط نرم افزار های مخصوص پیدا کنیم.
1- MD5Sums: این نرم افزار رابط گرافیکی ندارد ولی کار کردن با آن بدون دانستن نحوه کارکرد خط فرمان هم آسان است. اگر بدانید که چه بهتر. آن را از اینجا دانلود کنید (فقط ۲۸ کیلوبایت) و سپس هر فایلی که میخواهید MD5 Checksum اش را چک کنید Drag and drop کنید روی آیکون این برنامه و تمام!
2- MD5 Summer: اگر دوست دارید با رابط گرافیکی کار کنید میتوانید این برنامه را از اینجا دانلود کنید (۳۹۰ کیلوبایت) و فایل مورد نظرتان را به آن اضافه کنید تا Checksum آن را بهتان بدهد.
اگر Checksum ای که گرفتید با همانی که در سایت ذکر شده بود یکی بود یعنی شما دقیقآ همان فایل اصلی را گرفتهاید. بدون یک بیت تغییر. اگر فرق داشت یعنی این همان فایل اصلی نیست که ممکن است در اثر نصفه نیمه دانلود شدن ، تزریق کد های مخرب به آن یا تعویض فایل اتفاق افتاده باشد. البته سرعت پایین اینترنت هم میتواند موجب بروز چنین مشکلاتی شود.
لازم است بدانید Checksum در ابتدا برای همین استفاده ساخته نشد و این مکانیزمی است که دور از چشم شما توسط برنامه های آنتی ویروس و یا سایر نرم افزار های امنیتی استفاده میشود و این یک استفادهی متفرقه یا به نوعی خام از این مکانیزم است.
راستی معادل فارسی Checksum چیست؟
پیوست: و توضیحات اضافه تر که آقا پویا زحمتش رو کشیدن ...
checksum الگوریتمی است که برای چک کردن صحت اطلاعات در مقصد استفاده می شود. در شبکه بسیار کاربرد دارد. البته کدهای CRC هم استفاده می شوند.
برخی از الگوریتمهای سادهء چک سام ، الگوریتم 8 - 16 - 32 - 64 بیتی و CRC32 - CRC16 بیتی هستند.
چک سام بر اساس هر الگوریتمی که باشد تعداد بیتهای (Bit) آن تقسیم بر 8 برابر با تعداد بایت (Byte) میشود.
مثلا اگر چک سام بر اساس الگوریتم Checksum8 بیتی باشد مقدار چک سام ما 1 بایت است .
اگر چک سام بر اساس الگوریتم Checksum16 باشد مقدار چک سام ما 2 بایت است .
و اگر چک سام بر اساس الگوریتم Checksum32 باشد مقدار چک سام ما 4 بایت است.
این اصطلاح از ترکیب دو واژه "Check" به معنی مقایسه و تطبیق و "Sum" به معنی مقدار ایجاد شده است.
چک سام عموما قسمتی از یک فایل است که وظیفه آن حفاظت از کل فایل در برابر تغییرات میباشد . این قسمت از فایل شامل بایت یا بایتهایی (تیبلی) است که وظیفه آن نگهداری مقدار چک سام کل فایل
منهای خود همین بایتها و ( Ignore Bytes ) میباشد . به زبان ساده تر میتوان گفت که اگر چک سام کل یا یک قسمت از فایلی را بر اساس الگوریتمی خاص محاسبه کرده و خروجی آن را در محلی از
یک فایل و در لابلای بایتها یا پکتها قرار دهیم ، چک سامی برای فایل تعریف کرده ایم که در این فایل ،
اگر تنها مقدار چک سام قسمتی از فایل را محاسبه کرده باشیم ، به قسمت محاسبه نشده این فایل اصطلاحا ( Ignore Bytes ) گقته میشود . یعنی این قسمت در محاسبه چک سام منظور نشده است
و از آن چشم پوشی کرده ایم . پس در محاسبه بعدی چک سام هم بایستی از آن چشم پوشی کنیم.
checksum الگوریتمی است که برای چک کردن صحت اطلاعات در مقصد استفاده می شود. در شبکه بسیار کاربرد دارد. البته کدهای CRC هم استفاده می شوند. برخی از الگوریتمهای سادهء چک سام ، الگوریتم 8 - 16 - 32 - 64 بیتی و CRC32 - CRC16 بیتی هستند. چک سام بر اساس هر الگوریتمی که باشد تعداد بیتهای (Bit) آن تقسیم بر 8 برابر با تعداد بایت (Byte) میشود .
مثلا اگر چک سام بر اساس الگوریتم Checksum8 بیتی باشد مقدار چک سام ما 1 بایت است . اگر چک سام بر اساس الگوریتم Checksum16 باشد مقدار چک سام ما 2 بایت است . و اگر چک سام بر اساس الگوریتم Checksum32 باشد مقدار چک سام ما 4 بایت است. این اصطلاح از ترکیب دو واژه "Check" به معنی مقایسه و تطبیق و "Sum" به معنی مقدار ایجاد شده است .
چک سام عموما قسمتی از یک فایل است که وظیفه آن حفاظت از کل فایل در برابر تغییرات میباشد . این قسمت از فایل شامل بایت یا بایتهایی (تیبلی) است که وظیفه آن نگهداری مقدار چک سام کل فایل منهای خود همین بایتها و ( Ignore Bytes ) میباشد . به زبان ساده تر میتوان گفت که اگر چک سام کل یا یک قسمت از فایلی را بر اساس الگوریتمی خاص محاسبه کرده و خروجی آن را در محلی از یک فایل و در لابلای بایتها یا پکتها قرار دهیم ، چک سامی برای فایل تعریف کرده ایم که در این فایل ، اگر تنها مقدار چک سام قسمتی از فایل را محاسبه کرده باشیم ، به قسمت محاسبه نشده این فایل اصطلاحا ( Ignore Bytes ) گقته میشود . یعنی این قسمت در محاسبه چک سام منظور نشده است و از آن چشم پوشی کرده ایم . پس در محاسبه بعدی چک سام هم بایستی از آن چشم پوشی کنیم .
خوب دیگه زیادی دیگه کامنت دادم ولی خوب حیفم اومد که اطلاعاتی در موردش دارم رو نگم. [نیشخند] امیدوارم که مفید بوده باشه برای دوستان. [چشمک][دست][گل]