با سلام خدمت دوستان . تقریبا برای همه ما پیش اومده که فایلی رو دانلود کردیم اما در آخر دیدیم که فایل مورد نظر صحیح دانلود نشده و نتیجه این عمل رو معمولا با درست اجرا نشدن فایلمون ( هر چی که باشه ) متوجه می شیم . اما شاید این روش درست و منطقی نباشه چرا که تنها راه فهمیدن این که یک فایل صحیح و سالم دانلود شده فقط و فقط از طریق مقایسه hash فایل دانلود شده با hash فایلی که روی سرور قرار گرفته، است .
بر خلاف مباحث دیگه که می گیم چیزی به نام ۱۰۰ درصد وجود نداره، در این بحث با استفاده از مقایسه hash ها می توان مطمین شد که یک فایل 100% صحیح دانلود شده است یا نه . لازم به ذکر است که معمولا برای تولید hash برای این بحث از الگوریتم md5 استفاده می شود .
لازم به ذکر است که با توجه به وضعیت اینترنت کشورمون ، هر چی حجم فایلی که دانلود می کنیم کمتر باشه ، شانس بیش تری برای صحیح دانلود شدن داره چرا که به صورت میانگین در اینترنت های ما در بازه هایی مشخص مثلا 3 ساعت تعداد مشخصی نویز و قطعی های ریز وجود دارد که این باعث ایجاد اختلال در دانلود میشه . نتیجه در آخر این میشه که معمولا فایل هایی با حجم بالای ۱ گیگ صحیح دانلود نمیشن . راه حل این مشکل سادست ! تقسیم فایل به فایل های کوچیک تر .
برای بدست آوردن hash یک فایل با استفاده از الگوریتم md5 کافیست به شکل زیر عمل کنیم :
iman@OSLearn:~$ md5sum File.zip
حال کافیست هش بدست آمده را با هشی که وب سایت در اختیار ما قرار گذاشته مقایسه کنیم تا بفهمیم فایل درست دانلود شده یا نه .
نوشتن برنامه ای خودکار :
حالا فرض کنید که تعداد فایل های ما زیاد باشه . مثلا 20 تا فایل داریم پس طبیعتا نمی تونیم با چشم یکی یکی این هش ها رو مقایسه کنیم . برای این منظور برنامه ای رو نوشتم که خیلی ساده همین روند رو برای ما انجام می ده .
یعنی ابتدا هش فایل مورد نظر را می خواند سپس هش فایل مورد نظر را محاسبه می کند و در آخر این دو را با هم مقایسه می کند . اگر دوتا هش یکی بودند یعنی فایل صحیح دانلود شده پس اسم فایل به صورت سبز رنگ نمایش داده می شود و در مقابل اگر دو تا هش یکی نبودند یعنی فایل صحیح دانلود نشده پس اسم فایل به صورت قرمز رنگ نمایش داده می شود .
اطلاعات برنامه :
زبان استفاده شده : bash
تعداد خطوط : 30
لایسنس : GPL v3
لینک برنامه در گیت هاب :
link
لینک دانلود مستقیم برنامه :
http://oslearn.ir/wp-content/uploads/2015/10/md5check.tar.gz
دریافت و استفاده :
پس از دریافت و دانلود لازم است برنامه را از حالت فشرده خارج کنیم، برای این منظور :
iman@OSLearn.ir:~$ tar zxvf md5check.tar.gz
در مرحله بعد فایل برنامه را در داخل دایرکتوری ای که فایل های ما قرار دارد کپی کنیم . همچنین اسم فایل متنی ای که هش فایل ها ما را در خود دارد را به md5check.txt تغییر دهیم .
حال به فایل اجرایی پرمیشن اجرا می دهیم و آن را اجرا می کنیم :
iman@OSLearn.ir:~/md5check$ chmod +x md5check.sh iman@OSLearn.ir:~/md5check$ bash md5check.sh
همان طور که مشاهده می کنید تمام فایل ها صحیح دانلود شده است .
منبع : او اس لرن دات آی آر | http://OSLearn.ir
نویسنده : E2MA3N
از این مطلب راضی هستید ؟ می خواهید به سایت کمک کنید ؟ رضایت خودتون رو با دونیت به ما اعلام کنید . برای دونیت روی خرید کلیک کنید . با تشکر