Calculate MD5, SHA1 and other hashes of files

احتمالا شده که بخواهید کد های MD5 یا SHA1 و یا بقیه کدهای Hash یک فایل، دیسک ایمیج یا هر مدیایی رو چک کنید تا از سالم بودن و دست نخورده بودن اون اطمینان حاصل کنید. برنامه های زیادی هستند که این کار رو برای ما انجام میدن، و یا حتی میشه خودمون برنامه ای بنویسیم که این کار رو برای ما انجام بده. البته در این پست من نمیخوام  آموزش نوشتن چنین برنامه هایی رو بدم، چون یک جستجوی ساده در اینترنت، میتونه کدهای بسیاری رو برای شما بیاره که دیگه لازم نباشه خودتون از ابتدا برنامه Hash بنویسید.
در زیر چند راه حل برای به دست آوردن کدهای Hash در خط فرمان ها را براتون مینویسم:

محاسبه کدهای Hash یک فایل در Command Line ویندوز

برای چک کردن MD5 یا SHA1 و ... در ویندوز میتونید از File Checksum Integrity Verifier استفاده کنید. نحوه استفاده از این برنامه خیلی راحت هستش و شما با نوشتن دستور زیر در Command Line ویندوز میتونید مقدار MD5 و SHA1 فایل مورد نظرتون رو بدست بیارید:

FCIV -md5 -sha1 path\filename.ext

البته FCIV به طور پیش فرض توی ویندوز نیست و شما باید اونو دانلود و نصب کنید. این نکته را هم باید بگم که در پیج دانلود برنامه گفته شده که شرکت مایکروسافت از این فایل پشتیبانی نمیکنه و ریسک نصب و اجرای اون رو باید به جون بخرید.

محاسبه MD5 یک فایل در PowerShell

اگر از PowerShell به عنوان خط فرمان پیش فرض ویندوز استفاده می کنید، برای محاسبه کد MD5 میتونید از دستورات زیر استفاده کنید:

$someFilePath = "C:\foo.txt"
$md5 = new-object -TypeName System.Security.Cryptography.MD5CryptoServiceProvider
$hash = [System.BitConverter]::ToString($md5.ComputeHash([System.IO.File]::ReadAllBytes($someFilePath)))

در این کد کافیه آدرس فایل خود را در متغیر someFilePath  بریزید و بعد از اجرای دستورات، کد MD5 فایل خود رو میتونید مشاهده کنید.
البته در اینجا قطعه کدی به همراه مثال نوشته شده که با استفاده از اون میتونید به سادگی کدهای SHA1 و MD5 یک فایل را حساب کنید.

محاسبه کدهای Hash یک فایل در Shell های لینوکس

خوشبختانه به دست آوردن کدهای Hash تو لینوکس خیلی راحت هستش و دیگه نیازی به دانلود پکیج خاصی نیست و به طور پیش فرض، این دستورات در لینوکس وجود دارن. و یا حداقل در توزیع هایی که من استفاده کردم اینطور بوده.
برای محاسبه MD5 یک فایل از دستور md5sum filename استفاده می کنیم و به جای filename اسم فایل را قرار میدهیم.
و همینطور برای SHA1 از دستور sha1sum filename استفاده می کنیم.
- برای دیدن بقیه دستوراتی که با sha شروع میشن، حروف sha رو در Shell بنویسید و دو بار کلید Tab را بزنید تا دستورات بقیه کدها Hash که با sha  شروع میشن نمایش داده بشن.

در آخر باید بگم که خود من دستورهای لینوکس رو ترجیح میدم، و برای همین، همیشه Cygwin رو در ویندوزم نصب می کنم. و برای به دست آوردن کد های Hash از دستورات لینوکس در ترمینال Cygwin استفاده می کنم.

\.Chehre

جستجو