TechBord Logo
TechBord detail

هش (Hash) چیست؟

هش یک تابع (Function) است که یک مقدار را به مقدار دیگر تبدیل می‌کند. هش کردن داده (Data) یک روش رایج در علوم کامپیوتر (Computer Science) است و برای چندین هدف مختلف استفاده می شود. به عنوان مثال می‌توان به تولید رمزنگاری (Cryptography)، فشرده سازی (Compression)، چک جمع (Checksum) و داده‌های فهرست مطالب (Index) اشاره کرد.

هش کردن یک مناسب طبیعی برای رمزنگاری زیرا داده های اصلی را با مقدار دیگری پوشانده است. یک تابع هش می تواند برای تولید مقداری استفاده شود که فقط با جستجوی مقدار از جدول هش رمزگشایی شود. جدول ممکن است یک آرایه (Array)، پایگاه داده (Database) یا ساختار داده دیگری باشد. یک تابع هش رمزنگاری خوب غیرقابل برگشت است، به این معنی که نمی‌توان آن را مهندسی معکوس کرد.

از آنجایی که مقادیر هش‌شده معمولاً کوچک‌تر از نسخه‌های اصلی هستند، این امکان وجود دارد که یک تابع درهم‌سازی هش‌های تکراری ایجاد کند. ارزش های. اینها به عنوان "برخورد" شناخته می شوند و زمانی رخ می دهند که مقادیر یکسان از داده های منبع مختلف تولید شوند. برخوردها را می توان با استفاده از چندین توابع هش یا با ایجاد یک جدول سرریز در هنگام مواجه شدن با مقادیر هش تکراری حل کرد. با استفاده از مقادیر هش بزرگتر می توان از برخوردها جلوگیری کرد.

انواع فشرده سازی، مانند فشرده سازی تصویر باخت (Lossy) و فشرده سازی رسانه (Media Compression)، ممکن است دارای توابع هش برای کاهش اندازه فایل باشند. . با هش کردن داده ها به مقادیر کوچکتر، فایل های رسانه ای را می توان به قطعات کوچکتر فشرده کرد. این نوع هش کردن یک طرفه را نمی توان معکوس کرد، اما می تواند تقریبی از داده های اصلی ایجاد کند که به فضای دیسک کمتری نیاز دارد.

همچنین از هش ها برای ایجاد جمع های چک استفاده می شود که یکپارچگی فایل (File). چک جمع مقدار کوچکی است که بر اساس بیت (Bit) در یک فایل یا بلوک داده مانند تصویر دیسک (Disk Image) ایجاد می‌شود. هنگامی که تابع checksum بر روی یک کپی از فایل اجرا می شود (مانند فایل دانلود شده از اینترنت)، باید همان مقدار هش شده فایل اصلی را تولید کند. اگر فایل همان چک‌سوم را تولید نکند، چیزی در فایل تغییر کرده است.

در نهایت، از هش ها برای فهرست بندی داده ها استفاده می شود. مقادیر هش را می توان برای نگاشت داده ها به "سطل" های فردی در یک هش جدول (Table) استفاده کرد. هر سطل یک شناسه منحصر به فرد دارد که به عنوان نشانگر داده های اصلی عمل می کند. این شاخصی را ایجاد می کند که به طور قابل توجهی کوچکتر از داده های اصلی است و امکان جستجو و دسترسی موثرتر به مقادیر را می دهد.

تعریف اصطلاح هش (Hash) توسط تک بورد

تعریف هش (Hash) در این صفحه یک تعریف پایه نگاشته شده توسط تک بورد است. اگر مایل به ارجاع به این صفحه یا استناد به این تعریف هستید، با شرط درج لینک به این صفحه می توانید از این محتوا استفاده کنید.

هدف تک بورد توضیح اصطلاحات کامپیوتری به روشی است که به راحتی قابل درک باشد. ما برای سادگی و دقت با هر تعریفی که منتشر می کنیم تلاش می کنیم. اگر بازخوردی درباره تعریف هش (Hash) دارید یا می‌خواهید یک اصطلاح فنی جدید پیشنهاد کنید، لطفاً با ما تماس بگیرید.

آیا می خواهید اصطلاحات فنی بیشتری یاد بگیرید؟ در خبرنامه روزانه یا هفتگی مشترک شوید و شرایط و آزمون های ویژه را در ایمیل خود تحویل بگیرید.