هش یک عمل ریاضی است که اجرای آن آسان است اما برگرداندن هش برای دسترسی به داده بسیار سخت است.
تضمین اجرایی یک عمل ریاضی، که به نام "هش" شناخته میشود، هرچند انجام آن آسان به نظر میرسد، اما بازیابی هش به منظور دستیابی به داده، به شدت پیچیده است.
در فرآیند هش، داده به کد باینری تبدیل میشود که از مجموعهای از اعداد 0 و 1 تشکیل شده است.
سپس اعداد به صورت جداگانه مخفیانه ترکیب میشوند و این کار با استفاده از یک تابع هش انجام میپذیرد.
در استفاده از هش در بیتکوین و دیگر ارزهای دیجیتال، نتیجه نهایی معمولاً یک رشته 64 حرفی از اعداد و حروف است.
زیرا تبدیل داده به هش توسط یک الگوریتم رمزنگاری (تابع هش) صورت میگیرد و خروجی آن یک ترکیب گنگ و غیرقابل فهم است، رشته 64 حرفی نمیتواند به آسانی بازگردانده شود.
رشته، یک دنباله از کاراکترهاست.
رشتهها مانند جملاتی هستند که با ترکیب کاراکترها شکل میگیرند.
چگونه هش عمل میکند؟ هش را مثل یک مجموعه تصادفی از حروف و اعداد در نظر بگیرید.
به عنوان مثال، هر باری که رشته فوق از طریق تابع هش اجرا میشود، همیشه به همان هش منتهی میشود.
اما اگر تغییر کوچکی در این رشته ایجاد کنیم (به رنگ زرد مشخص شده است) چه اتفاقی میافتد؟
حتی با ایجاد یک تغییر کوچک، هش به طور کامل تغییر میکند.
استفاده از هش به عنوان یک ابزار برای شناسایی تغییرات و دستکاری در داده اصلی بسیار مؤثر است زیرا حتی تغییر کوچکی در ورودی، خروجی متفاوتی ایجاد میکند.
توجه داشته باشید که این نکته در درسهای آینده به کار گرفته خواهد شد تا چگونگی استفاده از این روش برای جلوگیری از دستکاری در تراکنشهای گذشته را بیان کند. چگونه هش عمل میکند؟
سعی در معکوس کردن هش موجود و یافتن رشته اولیه بیفایده است.
بنابراین، اگر تنها دسترسی شما به هش باشد، هیچ راهی برای پیدا کردن و درک داده اصلی وجود ندارد. شما نمیتوانید به وسیله ترکیب هش یا هک هش به اطلاعات اصلی دست یابید.
طول خروجی (هش) با افزایش حجم اطلاعات ورودی تغییر نمیکند. تابع هش، دادههای ورودی با هر اندازهای را میپذیرد و خروجی را با طول ثابت تولید میکند.
حتی اگر متن کامل کتاب "هری پاتر" با بیش از 76000 کلمه به عنوان ورودی به تابع هش داده شود، خروجی هش همچنان 64 کاراکتر خواهد بود.
با این توانایی، بدون نیاز به مرور دستی کل کتاب، فوراً متوجه میشوید که کتاب تغییر یافته است.