हैशिंग एल्गोरिदम आमतौर पर प्रकृति में क्रिप्टोग्राफिक होते हैं, लेकिन मुख्य अंतर यह है कि एन्क्रिप्शन डिक्रिप्शन के माध्यम से प्रतिवर्ती है, और हैशिंग नहीं है।
एक एन्क्रिप्शन फ़ंक्शन आमतौर पर इनपुट लेता है और एन्क्रिप्टेड आउटपुट का उत्पादन करता है जो समान, या थोड़ा बड़ा आकार है।
एक हैशिंग फ़ंक्शन इनपुट लेता है और आमतौर पर छोटे आउटपुट का उत्पादन करता है, आमतौर पर एक निश्चित आकार का।
हालांकि यह मूल इनपुट वापस पाने के लिए एक हैशेड परिणाम और "dehash" लेना संभव नहीं है, आप आमतौर पर उसी तरह से हैश पैदा करने वाली किसी चीज़ के लिए अपने तरीके को बाध्य कर सकते हैं।
दूसरे शब्दों में, यदि कोई प्रमाणीकरण योजना पासवर्ड लेती है, तो उसे हैश कर देता है, और आवश्यकता पासवर्ड के हैशेड संस्करण से तुलना करता है, यह आवश्यक नहीं हो सकता है कि आप वास्तव में मूल पासवर्ड को जानते हों, केवल उसका हैश हो, और आप उसे बाध्य कर सकते हैं कुछ के लिए आपका रास्ता जो मेल खाएगा, भले ही वह एक अलग पासवर्ड हो।
आम तौर पर टकराव की संभावना को कम करने के लिए हैशिंग फ़ंक्शंस बनाए जाते हैं और यह मुश्किल है कि किसी चीज़ की गणना करें जो समान हैश का उत्पादन करेगी।