با سلام خدمت دوستان . تقریبا برای همه ما پیش اومده که فایلی رو دانلود کردیم اما در آخر دیدیم که فایل مورد نظر صحیح دانلود نشده و نتیجه این عمل رو معمولا با درست اجرا نشدن فایلمون ( هر چی که باشه ) متوجه می شیم . اما شاید این روش درست و منطقی نباشه چرا که تنها راه فهمیدن این که یک فایل صحیح و سالم دانلود شده فقط و فقط از طریق مقایسه hash فایل دانلود شده با hash فایلی که روی سرور قرار گرفته، است .

بر خلاف مباحث دیگه که می گیم چیزی به نام ۱۰۰ درصد وجود نداره، در این بحث با استفاده از مقایسه hash ها می توان مطمین شد که یک فایل 100% صحیح دانلود شده است یا نه . لازم به ذکر است که معمولا برای تولید hash برای این بحث از الگوریتم md5 استفاده می شود .

لازم به ذکر است که با توجه به وضعیت اینترنت کشورمون ، هر چی حجم فایلی که دانلود می کنیم کمتر باشه ، شانس بیش تری برای صحیح دانلود شدن داره چرا که به صورت میانگین در اینترنت های ما در بازه هایی مشخص مثلا 3 ساعت تعداد مشخصی نویز و قطعی های ریز وجود دارد که این باعث ایجاد اختلال در دانلود میشه . نتیجه در آخر این میشه که معمولا فایل هایی با حجم بالای ۱ گیگ صحیح دانلود نمیشن . راه حل این مشکل سادست ! تقسیم فایل به فایل های کوچیک تر .

برای بدست آوردن hash یک فایل با استفاده از الگوریتم md5 کافیست به شکل زیر عمل کنیم :

حال کافیست هش بدست آمده را با هشی که وب سایت در اختیار ما قرار گذاشته مقایسه کنیم تا بفهمیم فایل درست دانلود شده یا نه .

 

نوشتن برنامه ای خودکار :

حالا فرض کنید که تعداد فایل های ما زیاد باشه . مثلا 20 تا فایل داریم پس طبیعتا نمی تونیم با چشم یکی یکی این هش ها رو مقایسه کنیم . برای این منظور برنامه ای رو نوشتم که خیلی ساده همین روند رو برای ما انجام می ده .

یعنی ابتدا هش فایل مورد نظر را می خواند سپس هش فایل مورد نظر را محاسبه می کند و در آخر این دو را با هم مقایسه می کند . اگر دوتا هش یکی بودند یعنی فایل صحیح دانلود شده پس اسم فایل به صورت سبز رنگ نمایش داده می شود و در مقابل اگر دو تا هش یکی نبودند یعنی فایل صحیح دانلود نشده پس اسم فایل به صورت قرمز رنگ نمایش داده می شود .

 

اطلاعات برنامه :

زبان استفاده شده : bash

تعداد خطوط : 30

لایسنس : GPL v3

 

لینک برنامه در گیت هاب :

link

لینک دانلود مستقیم برنامه :

http://oslearn.ir/wp-content/uploads/2015/10/md5check.tar.gz

دریافت و استفاده :

پس از دریافت و دانلود لازم است برنامه را از حالت فشرده خارج کنیم، برای این منظور :

 

در مرحله بعد فایل برنامه را در داخل دایرکتوری ای که فایل های ما قرار دارد کپی کنیم . همچنین اسم فایل متنی ای که هش فایل ها ما را در خود دارد را به md5check.txt تغییر دهیم .

حال به فایل اجرایی پرمیشن اجرا می دهیم و آن را اجرا می کنیم :

 

Screenshot

همان طور که مشاهده می کنید تمام فایل ها صحیح دانلود شده است .

 

نویسنده : ایمان همایونی
ایمیل نویسنده : info@OSLearn.ir
منبع : وب سایت او اس لرن – http://oslearn.ir
از مطالب وب سایت راضی هستید ؟ رضایت خودتون رو با دونیت به ما اعلام کنید. لطفا برای دونیت روی آیکون زیر کلیک کنید.
 حمایت مالی

درباره نویسنده :

ایمان همایونی هستم، از سال 2009 با گنو لینوکس فعالیت خودم رو در زمینه ی کامپیوتر و IT شروع کردم و تا الان موفق به گذروندن دوره هایLPIC 1 / LPIC 2 / VCP5-DCV / MCITP / CCNA / MTCNA شدم . مدتی در زمینه امنیت فعالیت هایی داشتم اما در حال حاضر تمرکز خودم رو بر روی مجازی سازی و لینوکس گذاشته ام .

تمام پست های من - وب سایت من