L'enumerazione di tutte le password possibili, avendo ciascuna in memoria a un certo punto, è un processo estremamente veloce. Si può presumere che un semplice PC sarà in grado di costruire una tale password per ciclo di clock e core della CPU. Quindi il PC enumera miliardi di password al secondo. Se le cifre che vedi sono sostanzialmente inferiori, includono anche il costo di verifica della password.
Il costo di verifica della password è molto variabile. Normalmente, il sistema che vuole verificare le password memorizza le password salate con hash . Se la funzione hash è SHA-1 , una CPU Intel Core2 x86, in esecuzione a 2,4 GHz, sarà in grado di per provare circa 12 milioni di password al secondo (e per core): questa è la velocità con cui il processore sarà in grado di applicare la funzione hash su ciascuna password (l'enumerazione della password stessa è inferiore all'1% di quel costo). Il mio PC è un quad core, quindi sono 48 milioni al secondo. Ho anche una scheda grafica Nvidia non troppo brutta che può fare un hashing della password, in realtà 160 milioni al secondo con un semplice SHA-1 crudo. A quella velocità, tutte le password di 8 caratteri (con lettere maiuscole e minuscole e cifre) vengono controllate in circa due settimane.
Gli schemi di archiviazione delle password validi utilizzano hash iterati o concatenati, in cui la password viene sottoposta a migliaia di volte: questo rende la verifica della password migliaia di volte più lenta, il che non implica un rallentamento sensibile all'utente, ma rende il compito molto più difficile (ovvero , migliaia di volte molto più difficile) per l'aggressore.