Algoritme hashing biasanya bersifat kriptografis, tetapi perbedaan utamanya adalah enkripsi dapat dibalik melalui dekripsi, dan hashing tidak.
Fungsi enkripsi biasanya mengambil input dan menghasilkan output terenkripsi yang sama, atau ukurannya sedikit lebih besar.
Fungsi hashing mengambil input dan menghasilkan output yang biasanya lebih kecil, biasanya dengan ukuran tetap juga.
Meskipun tidak mungkin untuk mengambil hasil hash dan "menghilangkannya" untuk mendapatkan kembali input asli, Anda biasanya dapat memaksa-paksa jalan Anda ke sesuatu yang menghasilkan hash yang sama.
Dengan kata lain, jika skema otentikasi mengambil kata sandi, hash, dan membandingkannya dengan versi hash dari kata sandi yang diperlukan, mungkin tidak diperlukan bahwa Anda benar-benar mengetahui kata sandi asli, hanya hash-nya, dan Anda dapat dengan kasar memaksa cara Anda ke sesuatu yang akan cocok, bahkan jika itu kata sandi yang berbeda.
Fungsi hash biasanya dibuat untuk meminimalkan kemungkinan tabrakan dan membuatnya sulit untuk hanya menghitung sesuatu yang akan menghasilkan hash yang sama dengan sesuatu yang lain.