isset Aslında en nasit haliyle Hash ve Encrypt farkını şöyle anlatabilirim.
Hash tek yönlü, encrypt çift yönlüdür. Hash kullandığını zaman size uzun bir değer döner, ve bu değer geriye dönüp çözülemez. Bunun en yaygın kullanımı kullanıcı şifrelerini kayıt etmek. Geri dönüşü olmadığı için veri sızıntısı olsa bile kimse şifreyi bilemeyecek.
Encrypt kullanıldığı zaman bir key ile bir veriyi geriye döndürülebilir olarak şifrelersiniz. Kapı şifresi gibi düşünün, kapıyı o şifreyle kilitlersiniz, geri dönmek istediğinizde sadece o şifre ile tekrar açabilirsiniz. O şifreyi bilen herkes kapıyı açabilir. Yani bir veriyi eğer ekrana yazdırmak istiyorsan veya bir yerde kullanmak istiyorsan ve güvenli bir şekilde kayıt edeyim diyorsan encrypt edeceksin, ama önemli değil bunu hiçbir şekilde ekrana yazdırmayacağım sadece doğrulama için kullanacağım diyorsan hash kullanırsın.