نماد سایت وبلاگ شتابان هاست

hashing (هشینگ) چیست؟

Hashing تبدیل رشته ای از کاراکترها به یک مقدار معمولاً کوتاهتر یا کلید اصلی است که نشان دهنده رشته اصلی است. از hashing برای ایندکس کردن و بازیابی موارد در یک پایگاه داده استفاده می شود زیرا یافتن سریعتر مورد با استفاده از کلید هش کوتاهتر از یافتن آن با استفاده از مقدار اصلی سریعتر است. همچنین در بسیاری از الگوریتم های رمزگذاری استفاده می شود.

به عنوان نمونه ای ساده از استفاده از hashing در پایگاه داده ها ، گروهی از افراد می توانند در این پایگاه داده مانند این قرار بگیرند:

آبرناتی ، سارا اپپرینگل ، روسکو مور ، ویلفرد اسمیت ، دیوید (و بسیاری دیگر به ترتیب حروف الفبا طبقه بندی شده اند)

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

۷۸۶۴ آبرناتی ، سارا ۹۸۰۲ اپپرینگل ، روسکو ۱۹۹۰ مور ، ویلفرد ۸۸۲۲ اسمیت ، دیوید (و غیره)

جستجو برای هر نام ابتدا شامل محاسبه مقدار هش (استفاده از همان عملکرد هش برای ذخیره ی مورد) و سپس مقایسه یك مورد مشترک با استفاده از آن مقدار است. به طور کلی ، پیدا کردن یک اشتراک در چهار رقم بسیار سریعتر خواهد بود ، هرکدام تنها ۱۰ احتمال دارد ، از طول یک مقدار ارزش غیرقابل پیش بینی که هر شخصیت ۲۶ امکان دارد.

در ادامه با ما در شتابان هاست همراه باشید.

hashing (هشینگ) چیست؟

علاوه بر بازیابی سریعتر داده ها ، از هشن برای رمزگذاری و رمزگشایی امضاهای دیجیتالی نیز استفاده می شود (برای احراز هویت ارسال کنندگان پیام و گیرنده ها). امضای دیجیتالی با عملکرد هش تبدیل می شود و سپس هر دو مقدار هش (معروف به پیام digest) و امضا در انتقال جداگانه به گیرنده ارسال می شوند. با استفاده از همان عملکرد هش همانند فرستنده ، گیرنده یک پیام digest شده از امضا را استخراج می کند و آن را با پیام digest شده نیز دریافت می کند. (آنها باید یکسان باشد.)

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

در اینجا برخی از توابع هش نسبتاً ساده استفاده شده است:

جمع بندی:

چندین عملکرد hashing مشهور وجود دارد که در رمزنگاری مورد استفاده قرار می گیرد. اینها شامل توابع هش پیام MD2 ، MD4 و MD5 است که برای هشدار امضاهای دیجیتالی به مقدار کمتری به نام پیام digest استفاده می شود ، و الگوریتم Secure Hash یا (SHA) ، الگوریتم استاندارد ، که بزرگتر می شود (۶۰- بیت) پیام digest است و شبیه MD4 است. با این وجود یک عملکرد هش که برای ذخیره سازی و بازیابی بانک اطلاعاتی مناسب است ، ممکن است برای اهداف رمزنگاری یا بررسی خطا کار نکند.

امیدوارم این مقاله برای شما مفید بوده باشد.

ما را در شتابان هاست دنبال کنید.

خروج از نسخه موبایل