L'hashing con salt è una tecnica di memorizzazione delle password che aggiunge un valore casuale, chiamato salt, a ciascuna password prima di sottoporla a hashing. Il salt viene di solito memorizzato insieme all'hash, ma è unico per ogni account, quindi la stessa password non produrrà lo stesso risultato tra utenti diversi. Questo è importante perché blocca i metodi di cracking precomputati, come le rainbow table, e rende gli attacchi su larga scala molto meno efficienti.
In caso di violazione, gli aggressori possono comunque tentare il cracking offline se rubano password sottoposte a hashing. Con i salt, devono decifrare ciascun hash separatamente, il che aumenta il costo e il tempo necessari per recuperare le password deboli. Buone difese associano l'hashing con salt a un algoritmo lento per le password e a un forte fattore di lavoro, così indovinare milioni di password diventa costoso. Nei sistemi reali, l'hashing con salt aiuta a ridurre i danni delle fughe di database, ma non sostituisce l'autenticazione a più fattori né la necessità di rifiutare password riutilizzate e compromesse.


