Ho un sito Web e su quel sito Web utilizzo SHA-256 e salgo le password dei miei utenti. Quello che sto facendo in questo momento è riempire ogni lettera della password dell'utente con i dati del cestino prima di cancellarla. La ragione per cui lo faccio è che se qualcuno capita di ottenere un dump del database del mio sito (improbabile, ma possibile) forzanti bruti / strumenti di attacco del dizionario come john the ripper non funzionerà perché la password hash non è in realtà una parola dal loro elenchi di parole, ma una versione confusa di esso.
Questa è una strategia valida o esiste un altro modo per prevenire attacchi di dizionario? Alcuni utenti hanno segnalato problemi con le loro password, che potrebbero essere o meno correlate al mio metodo di "pre-hashing", ma ero interessato a cercare alternative per le password di hashing. Non posso usare blowfish con qualsiasi numero sicuro di round a causa della necessità che gli hash delle password vengano calcolati in un ragionevole lasso di tempo.
Esistono implementazioni PHP di quel nuovo algoritmo di hash Keccak SHA3 o sarebbe una cattiva idea da usare?