تابع هش پیامی را به هر اندازه به عنوان متن ساده می گیرد و رشته ای به اندازه ثابت را به عنوان متن رمزگذاری شده خروجی می دهد. متن رمزنگاری شده، رشته ای الفبایی شامل حروف و عدد ها است و DIGEST نامیده می شود.
در توابع هش ، هیچ کلیدی استفاده نمی شود. همچنین به عنوان یک فرآیند یک طرفه شناخته می شود زیرا غیر ممکن است پس از اعمال هش بر روی پیام ، پیام اصلی را برگردانید.(Message Digest (MD و (Secure Hash (SHA برخی از توابع هش محبوب هستند. به عنوان مثال ، با استفاده از یک هش MD5 می توان “a” را به این صورت “0cc175b9c0f1b6a831c399e269772661” نوشت، اما نکته قابل ذکر این است که hash md5 یک رمزگذاری نیست. به طور مشابه ، با استفاده از هش SHA256 ، می توانیم “a” را به شکل زیر بدست آوریم:
“87428FC522803D31065E7BCE3CF03FE475096631E5E07BBD7A0FDE60C4CF25C7”.
هر خروجی هش برای ورودی مشابه یکسان است. اما ، این امکان وجود دارد که عملکرد هش برای دو ورودی متفاوت نتیجه مشابهی داشته باشد. همانطور که قبلاً ذکر شد ، توابع هش توابع یک طرفه هستند ، معکوس کردن آنها عملاً غیرممکن است ، از این رو می توان برای تولید رمزهای عبور که واقعاً قوی هستند ، استفاده کرد. حتی اگر هش تولید شده بسیار قوی باشد ، ابزارهای آنلاین زیادی برای شکستن هش ها وجود دارد ، CrackStation یکی از آنهاست.