Esistono in linea generale tre tipi di attacco per craccare una password: il dictionary attack, il password profiling e il brute force attack. Il dictionary attack si basa sul confronto della password da craccare con una lista di parole comuni, ovvero un dizionario. Più il file delle parole comuni è di grosse dimensioni, più aumenta la possibilità di trovare la password giusta. Naturalmente questo tipo di attacco non sempre funziona: