Hashing چیست؟ هش چیست
اگر در حال انتقال پرونده ای از یک رایانه به رایانه دیگر هستید، چگونه اطمینان حاصل می کنید که فایل کپی شده همان منبع است؟ یکی از روش هایی که می توانید استفاده کنید، هش کردن نام دارد که در اصل روشی است که اطلاعات مربوط به پرونده را به کد تبدیل می کند. برای اطمینان از برابر بودن پرونده ها می توان دو مقدار هش (از پرونده اصلی و کپی آن) را مقایسه کرد.
Hashing چیست؟
Hashing الگوریتمی است که مقدار رشته بیت با اندازه ثابت را از یک فایل محاسبه می کند. یک فایل اساساً شامل بلاک های داده است. Hashing این داده ها را به مقدار یا کلید با طول ثابت بسیار کوتاهتر تبدیل می کند که رشته اصلی را نشان می دهد. مقدار هش را می توان خلاصه تقطیر شده موجود در آن پرونده در نظر گرفت.
یک الگوریتم هش خوب ویژگی ای را به نمایش می گذارد، جایی که خروجی هش حاصل به طور قابل توجهی یا به طور کامل تغییر می کند حتی اگر یک بیت یا بایت داده در یک فایل تغییر کند. عملکرد هش که این کار را انجام ندهد تصادفی ضعیفی در نظر گرفته شده است، که شکستن آن توسط هکرها آسان خواهد بود.
هش معمولاً یک رشته هگزادسیمال از چند کاراکتر است. هش کردن نیز یک روند یک طرفه است بنابراین هرگز نمی توانید برای بازیابی داده های اصلی به عقب برگردید.
یک الگوریتم هش خوب باید به اندازه کافی پیچیده باشد به طوری که از دو ورودی مختلف مقدار هش یکسان تولید نکند. اگر این اتفاق رخ دهد، این به عنوان برخورد هش شناخته می شود. یک الگوریتم هش تنها در صورتی می تواند خوب و قابل قبول تلقی شود که بتواند احتمال برخورد بسیار کمی داشته باشد.
مزایای Hashing چیست؟
یکی از کاربردهای اصلی هش، مقایسه دو پرونده برای برابری است. بدون باز کردن دو پرونده سند برای مقایسه کلمه به کلمه، مقادیر هش محاسبه شده این پرونده ها به مالک این امکان را می دهد تا بلافاصله از تفاوت آنها مطلع شود.
Hashing همچنین برای تأیید یکپارچگی پرونده پس از انتقال پرونده از یک مکان به مکان دیگر، معمولاً در برنامه پشتیبان گیری از پرونده مانند SyncBack، استفاده می شود. برای اطمینان از خراب نبودن فایل منتقل شده، کاربر می تواند مقدار هش هر دو پرونده را مقایسه کند. اگر آنها یکسان باشند، پرونده منتقل شده یک نسخه یکسان است.
در برخی شرایط، یک پرونده رمزگذاری شده ممکن است طوری طراحی شود که هرگز نه اندازه پرونده و نه آخرین تاریخ و زمان اصلاح را تغییر دهد (به عنوان مثال، پرونده های هارد درایو مجازی). در چنین مواردی تشخیص اینکه دو پرونده مشابه متفاوت هستند یا نه غیرممکن است، اما مقادیر هش در صورت متفاوت بودن این پرونده ها به راحتی از یکدیگر جدا می شوند.
انواع هش
انواع مختلفی از الگوریتم های هش مانند RipeMD ،Tiger ،xxhash و موارد دیگر وجود دارد، اما متداول ترین نوع هش مورد استفاده برای بررسی یکپارچگی پرونده MD5 ،SHA-2 و CRC32 است.
MD5: عملکرد هش MD5 رشته ای از اطلاعات را رمزگذاری می کند و آنها را در اثر انگشت 128 بیتی رمزگذاری می کند. MD5 غالباً به عنوان یک جمع چک برای تأیید یکپارچگی داده ها استفاده می شود. با این حال، به دلیل قدمت، MD5 همچنین از آسیب پذیری های گسترده برخورد هش رنج می برد، اما هنوز هم یکی از پرکاربردترین الگوریتم های جهان است.
SHA-2 :SHA-2، ساخته شده توسط آژانس امنیت ملی (NSA)، یک عملکرد هش رمزنگاری است. SHA-2 شامل تغییرات قابل توجهی نسبت به مدل قبلی خود، SHA-1 است. خانواده SHA-2 شامل شش عملکرد هش با مقادیر هش است که 224، 256، 384 یا 512 بیت هستند: SHA-224 ،SHA-256 ،SHA-384 ، SHA-512 ،SHA-512/224 ،SHA -512/256.
CRC32: بررسی افزایشی حلقوی (CRC) کدی است برای تشخیص خطا که اغلب برای تشخیص تغییرات تصادفی داده ها استفاده می شود. رمزگذاری رشته های داده مشابه با استفاده از CRC32 همیشه منجر به خروجی هش یکسان می شود، بنابراین CRC32 گاهی اوقات به عنوان یک الگوریتم هش برای بررسی یکپارچگی پرونده استفاده می شود. این روزها به ندرت از CRC32 در خارج از فایل های Zip و سرورهای FTP استفاده می شود.
استفاده از Hashing در نرم افزار 2BrightSparks
در نرم افزار پشتیبان گیری و همگام سازی، SyncBackPro / SE / Free، هش به طور عمده برای بررسی یکپارچگی پرونده در طول یا بعد از یک جلسه انتقال داده استفاده می شود. به عنوان مثال، یک کاربر SyncBack می تواند تأیید پرونده را روشن کند (تغییر مشخصات> کپی / حذف) یا از روشی کندتر اما قابل اطمینان تر (تغییر مشخصات> مقایسه گزینه ها) استفاده کند که برای بررسی تفاوت پرونده هاش زدن را فعال می کند. بسته به اینکه از کدام گزینه استفاده شده و در آن پرونده های پشتیبان قرار گرفته باشد، از توابع هش مختلف استفاده خواهد شد.
مناطق دیگری که در آن هش استفاده می شود از سرگیری در انتقال فایل است (FTP)، بررسی یکپارچگی داده ها، برنامه نویسی و گهگاه برای احراز هویت در نمایه های Cloud (برنامه نویسی و پشتیبان گیری ابری فقط توسط SyncBackPro پشتیبانی می شود).
2BrightSparks همچنین یک برنامه کمکی به نام HashOnClick دارد که می تواند برای اطمینان از یکسان بودن پرونده ها مورد استفاده قرار گیرد. HashOnClick به عنوان یک نرم افزار رایگان و همچنین یک برنامه مجاز در دسترس است. چندین نوع الگوریتم هش در HashOnClick در دسترس است.
خلاصه
در نتیجه، هش کردن یک ابزار مفید برای تأیید صحت کپی شدن پرونده ها بین دو منبع است. همچنین می توان بدون باز و مقایسه پرونده ها، یکسان بودن پرونده ها را بررسی کرد.
درباره فائزه تقی پور
فائزه تقی پور هستم دانشجوی کارشناسی شبکه کامپیوتری حدود یک سالی هست که نویسنده ام و دارای مهارت ها و مدرک دوره های +MCSA, CCNA ,Network هستم.
نوشته های بیشتر از فائزه تقی پور
دیدگاهتان را بنویسید