به جلسۀ دیگری از دوره آموزش ارزهای دیجیتالی خوش آمدید. در این جلسه قصد داریم تا مثالهایی از هش کردن برایتان بزنیم. با آکادمی کالج پیپس، بزرگترین مرجع تخصصی آموزش بازارهای مالی، همراه باشید.
[ez-toc]
مثالهایی از هش کردن
تا اینجا، در درسهای قبلی، یاد گرفتید که Hashing چیست و چگونه کار میکند. اما برای اینکه واقعاً بفهمید این برنامههای تخصصی چه کارهایی انجام میدهند، مفید است که مثالهای واقعی را در عمل ببینید!
بیایید ببینیم فرآیند Hashing چگونه با استفاده از یک تابع هش واقعی کار میکند.

از آنجا که SHA-256 تابع هش انتخابی بیتکوین است، بیایید با استفاده از آن چند مثال بزنیم.
این اولین ورودی مثال ما است:
collegepips.academy is cool as ice
هنگامی که این جمله از طریق تابع هش SHA-256 عبور داده میشود، مقدار هش زیر تولید میشود:
47a7883f3ff278e5b310ffcfb893f736ad9d58c9e7096f103785e58f5460c6b5
میتوانید ببینید که بهطور «خلاصه»، ترکیبی از حروف و اعداد است و دقیقاً ۶۴ کاراکتر طول دارد.
علاوه بر این، واقعاً چیز دیگری نمیتوانید از نگاه کردن به این خلاصه یاد بگیرید. هیچ الگو یا سرنخی در مورد ورودی وجود ندارد. فقط شبیه به مجموعهای از حروف و اعداد بههمریخته است.
خروجی ممکن است تصادفی به نظر برسد، اما هیچ راهی برای حدس زدن ورودی از طریق نگاه کردن به خروجی وجود ندارد.
اگر ورودی را دوباره از تابع هش SHA-256 عبور دهید، دقیقاً همان خروجی (Hash) را دوباره دریافت خواهید کرد:
47a7883f3ff278e5b310ffcfb893f736ad9d58c9e7096f103785e58f5460c6b5
ورودی یکسان همواره خروجی یکسانی را تولید خواهد کرد.
حالا، بیایید یک تغییر جزئی در ورودی مثال اول ایجاد کنیم و ببینیم چه اتفاقی میافتد.
تنها با حذف یک نقطه (بین collegepips و academy)، خواهیم داشت:
collegepips academy is cool as ice
و در نتیجه Hash آن خواهد بود:
d4162e2e0f6f2a5125d74811ef4dd3ebea9436e8f184398896c429a89dd1ac45
اکنون دو Hash را با هم مقایسه کنید.
47a7883f3ff278e5b310ffcfb893f736ad9d58c9e7096f103785e58f5460c6b5
d4162e2e0f6f2a5125d74811ef4dd3ebea9436e8f184398896c429a89dd1ac45
میبینید که نتیجۀ اول با نتیجۀ دوم بهشدت متفاوت است!
اگرچه ورودیها عملاً مشابه بودند، اما تغییر یک کاراکتر، خروجی تولیدی کاملاً متفاوتی داشت.
اکنون مثال دیگری میزنیم:
کلمۀ cryptocurrency را در نظر بگیرید.
Hash آن خواهد بود:
d17b585546a89f5aa06b76f0d19935e42d6d07d15c3d5d1f45e7f087fae9f3a3
بدون توجه به طول ورودی، خروجی همیشه به همان طول ثابت (64 کاراکتری) خواهد بود.
شما میتوانید با استفاده از یک زبان برنامهنویسی مثل پایتون، یک تابع Hash تعریف کنید و سپس هر چیزی که میخواهید را وارد کنید تا برایتان Hash تولید کند.