Un hash è un processo irreversibile: una funzione, "hash" che non può essere "invertita". Una volta che hai un hash, puoi solo indovinare la password originale tramite un attacco di forza bruta, che implica l'hashing di una varietà di password possibili fino a quando non ottieni lo stesso valore di hash, che indica che la password che hai indovinato è la stessa dell'originale .
La crittografia è un processo reversibile: due funzioni, "crittografia" < - > 'Decrittazione' ; ciò che è criptato può essere decodificato se si ha la chiave; la decrittografia ripristina la password originale senza indovinare.
La sicurezza di una password hash dipende in gran parte dalla quantità di calcolo richiesta per eseguire la funzione hash. Più è richiesto il calcolo, più tempo ci vuole; dal momento che un attacco di forza bruta deve ripetere quel calcolo per migliaia o milioni di possibili password, più a lungo ogni singolo calcolo hash diventa meno pratico l'attacco diventa.
La sicurezza di una password crittografata dipende dalla solidità dell'algoritmo e dal segreto della chiave.
Il vantaggio dell'hash è che nessuna chiave è richiesta, il che migliora la sicurezza generale del sistema - un pezzo meno segreto da tenere fuori dalla mano dell'attaccante.