Se sei preoccupato che utilizzino password deboli, mi concentrerei solo sui requisiti di complessità. Costringili a usare una password di 12 caratteri con caratteri speciali. Un elenco di 65 milioni di suoni è relativamente piccolo, sono per lo più meno di 8 caratteri?
In considerazione di un attacco di forza bruta, non importa se c'è una grande entropia o distribuzione tra il set di caratteri se la lunghezza è bassa (8 o meno caratteri).
Ottieni lo stesso prezzo per te se imponi solo la lunghezza e la complessità del lato client o il "correttore forza password". Probabilmente è meglio mettere il tuo impegno nel proteggere la password del back-end (sale, pepe, hsm, ecc.) In modo che non possa essere compromessa.
Dalla prospettiva della forza bruta. Se l'attaccante ruba il tuo DB e fa un attacco offline, chiaramente il tuo assegno se non lo sarà. Se stanno provando a fare una forza bruta online, puoi bloccare l'IP solo dopo il numero X di tentativi falliti o bloccare l'account se è mirato con più tentativi in un argomento distribuito e lasciare che l'utente resetta quando vuole legittimamente andare d'accordo. Sembra che sarebbe molto più complesso e richiederebbe più risorse da controllare rispetto alla lista su ogni tentativo di accesso - potrebbe portare a un rifiuto di servizio su un server web modesto oltre la tassazione del sistema.
Anche se può avere qualche valore, non sono sicuro che gli utenti lo otterrebbero. Anche se è bello voler provare a proteggerli, se vogliono usare password brevi e tu li lasci, loro - forse prendono la loro password di cinque caratteri e aggiungono un numero - se questo non è nella tua lista, non fa nulla per aiutarli dal momento che sono ancora solo sei personaggi. Quindi il tuo elenco rileverà alcune password comuni, ma non affronterà il problema principale che è la lunghezza e la complessità. Provare 65 milioni di password in un attacco offline non è uno sforzo per un utente malintenzionato con un'unità di cracking della GPU.