
هدف از انجام و کاربرد هش در زندگی روزمره چیست؟
هدف اصلی در هش کردن، تایید صحت یک داده یا ورودی است.
از آنجایی که هش تولید شده برای هر داده، منحصر به فرد است، به عنوان یک اثر انگشت عمل میکند!
منحصر به فرد بودن هش هر داده باعث میشود تا در ارسال دادهها از طریق کانالهای ارتباطی ناامن مانند اینترنت، امنیت و اعتبار دادهها تضمین شود.
هش دریافتی از یک داده را میتوان با هش داده قبل از ارسال مقایسه کرد تا مشخص شود که آیا دادهها تغییر کردهاند یا خیر.
اگر هم پیام ورودی و هم هش آن را در اختیار شما بگذارم، میتوانید از پیام بار دیگر خروجی بگیرید و هر دو هش را با یکدیگر مقایسه کنید.
از یک مثال بسیار ساده استفاده میکنیم!
مثال کاربرد هش
فرض کنید قرار است برای ناهار یکدیگر را ملاقات کنیم و درست قبل از اینکه از در بیرون بروم، آخرین باری که باهم بودیم را به یاد میآورم.
در حالیکه تصویر ذهنی خوبی نسبت به شخصیت شما دارم، اما یادم میآید لباسهای شما بوی بدی میداد!
بنابراین من میخواهم برای شما پیامی با این متن بفرستم: لطفا از خوشبو کننده استفاده کنید.
اما قبل از ارسال این پیام، آن را از طریق یک تابع هش SHA-256 اجرا میکنم. هش دریافتی این است:
ابتدا هش را برای شما میفرستم.
سپس متن واقعی پیام را برای شما ارسال میکنم.
هنگامی که پیام من را دریافت میکنید، با خودتان اینگونه فکر میکنید: چی؟ واقعا او این را به من گفت؟ یا شاید پیام در حین انتقال رهگیری شده و پیام اصلی تغییر کرده؟
بنابراین شما پیام را از طریق همان تابع هش دوباره اجرا میکنید:
سپس هش دریافتی را با هش قبل از ارسال پیام متنی مقایسه میکنید.
اگر هر دو هش یکسان باشند، پس ثابت میکند که:
- پیام به درستی ارسال شده.
- لباس شما واقعا بو میدهد!
- پیام عمدا توسط شخص سومی تغییر نکرده. من آن را برای شما ارسال کردم و شما آن را دریافت کردهاید.
در دنیای واقعی، کامپیوترها هستند که تمام این کارها را برای ما انجام میدهند. البته به جز نظافت شخصی! 😉
از نظر فنی، قبل از ارسال هش، باید به نوعی از هش محافظت شود. درمورد نحوه محافظت از هش در حین ارسال و دریافت در درس بعد صحبت خواهد شد.
کاربرد هش در رمزهای عبور
این موضوع ممکن است شما را شگفتزده کند اما گاهی در زندگی روزمره خود با کاربرد هش سروکار دارید… برای مثال زمانی که وارد حساب ایمیلتان میشوید تا ایمیلهای خود را چک کنید، از هش استفاده میکنید.کاربرد هش در ایمیل چیست؟
هنگامی که یک آدرس ایمیل و رمز عبور ایجاد میکنید، ارائهدهنده ایمیل، احتمالا رمز عبور واقعی شما را ذخیره نمیکند.
در عوض، رمز عبور را از طریق یک تابع هش اجرا میکند و هش رمز عبور شما را ذخیره میکند.
هر بار که سعی میکنید وارد حساب ایمیل خود شوید، ارائه دهنده ایمیل، رمز عبوری که وارد کردهاید را درهم میکند و هش دریافتی را با هشی که از قبل ذخیره کرده است مقایسه میکند.
فقط زمانی که دو هش مطابقت داشته باشند، مجاز به دسترسی به ایمیل خود هستید.
بیایید ببینیم کاربرد هش در هنگام استفاده از ایمیل چیست و چرا شرکت ایمیل رمز عبور واقعی شما را ذخیره نمیکنند.
اگر رمزهای عبور واقعی ذخیره شوند، اگر هکرها وارد سیستم شوند میتوانند آنها را سرقت کنند. این مسئله برای کاربرانی که از یک رمز عبور برای چندین وبسایت استفاده میکنند خوب نیست.
راه حل این است که رمز عبورها را هش کنید!
کاربرد هش چیست؟
با هش کردن رمز عبور، اطلاعات کاربران محافظت میشود. حتی اگر هکرها به سیستم نفوذ کنند، به رمزهای واقعی دسترسی نخواهند داشت، بلکه فقط به هشها دسترسی پیدا میکنند.
به خاطر داشته باشید هشهابرگشتناپذیر و یک طرفه هستند. بنابراین برای هکرها غیرممکن است که تنها با نگاه کردن به هش، رمز عبور واقعی را بیابند. هش کردن تضمین میکند که دادهها را در حالت درهم ذخیره کند. بنابراین سرقت آن دشوار است.
هر زمان که وارد سیستم میشوید، ارائهدهنده ایمیل، رمز عبور شما را ذخیره نمیکند بلکه تنها چیزی که به آن نیاز دارد هش است.
هنگامی که رمز عبور خود را وارد میکنید، از طریق تابع هش اجرا میشود.
خروجی با هش ذخیره شده در پایگاه مطابقت داده میشود.
اگر مقادیر هش یکسان باشند، رمز عبور صحیح است.
رمز عبوری که به اشتباه وارد شود، هش متفاوتی نسبت به رمز ذخیره شده ایجاد میکند، در نتیجه هشها با یکدیگر مطابقت ندارند و تلاش شما برای ورود به سیستم با شکست مواجه میشود.
با توجه به مواردی که در خصوص کاربرد هش گفته شد میبینید که یک تابع هش، دادهها را مخدوش و غیر قابل خواندن میکند. حتی اگر یک هکر به سرور ارائه دهنده ایمیل شما دسترسی پیدا کند، جزئیات ذخیره شده را نمیتواند از حالت رمز خارج کند.