Le password di hashing sono una difesa contro un attacco specifico. L'attacco è: rubare una copia dell'intero file di password (tabella utenti, ldap db, ecc.), Scaricarlo sul proprio computer e tentare di recuperare le password degli utenti. L'obiettivo dell'attacco è: trovare utenti che riutilizzino i loro nomi utente e password attraverso i siti Web e accedere agli account di posta elettronica, banca, social network e altri utenti di tali utenti.
La difesa delle hashing-password funziona così: le password non vengono archiviate direttamente e qualsiasi tentativo di recuperare le password originali richiede che l'autore dell'attacco esegua una quantità di lavoro estremamente grande, almeno rispetto al lavoro richiesto per controlla se una password che l'utente inserisce quando effettua il login corrisponde alla password sul file. Ci sono molte varianti su questa difesa, inclusa la scelta di hash migliori, salatura degli hash, iterazione degli hash, ecc., Il loro scopo è quello di rendere la difesa migliore di altrimenti e difendersi da varianti dell'attacco che sono in grado di muoversi le difese più semplici.
La difesa delle hashing-password non è una difesa contro qualsiasi attacco. Ad esempio, non è di aiuto nei confronti di un attacco in cui l'autore dell'attacco acquisisce accesso al database in modo arbitrario, riscrive tutte le password degli utenti e accede a tutti gli account degli utenti su quel sito. La difesa difende solo dall'attacco di furto di password offline.
Quindi è necessario essere consapevoli dei diversi tipi di attacchi e difendersi da ognuno di essi usando una difesa che funziona contro quel tipo di attacco.