تابع هش
عملکرد Hash به چه معناست؟
یک تابع هش گروهی از کاراکترها (که کلید نامیده می شود) را گرفته و آن را به مقدار یک طول مشخص (که مقدار هش یا هش نامیده می شود) ترسیم می کند. مقدار هش نمایانگر رشته اصلی کاراکترها است ، اما معمولاً کوچکتر از اصل است.
هش کردن برای فهرست بندی و قرار دادن موارد در پایگاه های داده انجام می شود زیرا یافتن مقدار هش کوتاهتر از رشته طولانی تر آسان تر است. هشینگ در رمزگذاری نیز استفاده می شود.
این اصطلاح همچنین به عنوان یک الگوریتم هش یا تابع هضم پیام شناخته می شود.
عملکرد Hash
Hashing با یک پایگاه داده استفاده می شود تا بتوان موارد را سریعتر بازیابی کرد. هشینگ همچنین می تواند در رمزنگاری و رمزگشایی امضاهای دیجیتالی استفاده شود. تابع هش امضای دیجیتال را تغییر می دهد ، سپس مقدار هش و امضا به گیرنده ارسال می شود. گیرنده از یک تابع هش برای تولید مقدار هش استفاده می کند و سپس آن را با عملکرد دریافت شده با پیام مقایسه می کند. اگر مقادیر هش یکسان باشد ، به احتمال زیاد پیام بدون خطا منتقل شده است.
یک مثال از عملکرد هش را تاشو (folding) می نامند. این مقدار اولیه را می گیرد ، آن را به چند قسمت تقسیم می کند ، سپس قطعات را اضافه می کند و از چهار رقم باقی مانده آخر به عنوان مقدار یا کلید هش استفاده می کند.
مثال دیگر بازآرایی رقمی نام دارد. این اعداد را در موقعیتهای خاصی از مقدار اصلی مانند شماره سوم و ششم می گیرد و ترتیب آنها را معکوس می کند. سپس از عدد باقی مانده به عنوان مقدار هش استفاده می کند.
تقریباً غیرممکن است که عدد اصلی را بر اساس مقدار هش تعیین کنیم ، مگر اینکه الگوریتم مورد استفاده مشخص باشد.