هش کردن یک رشته نمایشی از یک رشته به عنوان یک عدد، منحصر به فرد (فرض می کنیم که احتمال برخورد ناچیز است) برای هر رشته است. این به شما اجازه می دهد تا هر داده مهم (مانند رمزهای عبور) را در پایگاه داده نه به عنوان رشته، بلکه به عنوان اعداد ذخیره کنید. این به شما امکان می دهد تا در صورت دسترسی مهاجم به پایگاه داده رمز عبور، از رمزهای عبور محافظت کنید، زیرا او رمزهای عبور خود را دریافت نمی کند، بلکه فقط نمایش عددی آنها را دریافت می کند و تقریباً غیرممکن است که یک رشته را با هش آن به دست آورید (به ویژه بدون دانستن الگوریتم هش). ).
هشهای چندجملهای اغلب در مسائل مسابقه برنامهنویسی استفاده میشوند.
یکی از بهترین راه ها برای تعیین تابع هش رشته S به شرح زیر است:
h(S) = S[0] + S[1] * P + S[2] * P^2 + S[3] * P^3 + ... + S[N] * P^N