Sono curioso dei metodi di cracking delle password come il dizionario e gli attacchi di forza bruta. Oggigiorno le password vengono archiviate come hash e non in chiaro sul server. Quindi come possono essere confrontate le password in chiaro nel dizionario con gli hash nel database trapelato? Poiché gli hash possono essere di tipi diversi come bcrypt, SHA-512 e così via, come possono gli strumenti di cracking sapere come creare gli hash e confrontarli?
Ad esempio, dai un'occhiata all'attacco del dizionario qui sotto. Le password trapelate sono solo hash e il dizionario ha semplici parole inglesi. Allora come possono essere confrontati? In che modo l'hacker o gli strumenti di cracking sanno quale algoritmo hash dovrebbe usare? Anche il sale è lì, ma come fa l'attaccante a sapere cos'è il sale?