منبع اصلی نوشتار زیر در این لینک قرار دارد

فایل های خود را صحیح دانلود می کنید ؟

با سلام خدمت دوستان . تقریبا برای همه ما پیش اومده که فایلی رو دانلود کردیم اما در آخر دیدیم که فایل مورد نظر صحیح دانلود نشده و نتیجه این عمل رو معمولا با درست اجرا نشدن فایلمون ( هر چی که باشه ) متوجه می شیم . اما شاید این روش درست و منطقی نباشه چرا که تنها راه فهمیدن این که یک فایل صحیح و سالم دانلود شده فقط و فقط از طریق مقایسه 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

 

Screenshot

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

 

منبع : او اس لرن دات آی آر | http://OSLearn.ir

نویسنده : E2MA3N

از این مطلب راضی هستید ؟ می خواهید به سایت کمک کنید ؟ رضایت خودتون رو با دونیت به ما اعلام کنید . برای دونیت روی خرید کلیک کنید . با تشکر



برچسب ها : ,

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

به اين صفحه امتياز دهيد