Potresti dare un'occhiata ai generatori di password negli strumenti esistenti di gestione password, come LastPass. Come dice @RonBowes, non esiste una politica valida per tutti, e il fatto triste è che molti siti hanno politiche che significano che non puoi usare una password molto strong (Fino a qualche anno fa fa, la banca Wells Fargo consentiva solo 6-8 caratteri alfanumerici maiuscoli e non sensibili al caso per il proprio sistema bancario online, per dare l'esempio più eclatante al di sopra della mia testa) in modo che non si riesca nemmeno a sfogliare un paio di politiche altamente sicure come come "molto lungo ma solo alfanumerico" vs. "relativamente breve ma selezionato tra tutti i caratteri tipizzabili".
In generale, le password più lunghe sono più sicure, soprattutto a prescindere dai set di caratteri utilizzati. Ad esempio, i caratteri alfanumerici insensibili al caso selezionato casualmente sono ancora più di 5 bit di entropia per carattere; una password di 20 caratteri da quel set è di 103 bit di entropia, circa 11 ordini di grandezza più difficili da decifrare di una password scelta casualmente da tutti i caratteri tipizzabili su una tastiera americana ma di soli 10 caratteri (66 bit di entropia).
D'altro canto, le password più lunghe possono essere più difficili da digitare manualmente (più posti per fare errori), specialmente quando i personaggi sono casuali, e anche più difficili da memorizzare (molto più difficile, per i personaggi casuali anche da un set limitato) . Pertanto, se è probabile che le persone inseriscano manualmente queste password, potresti voler utilizzare (o almeno offrire) impostazioni meno sicure.
Inoltre, anche le cattive norme sulle password possono essere abbastanza sicure se i personaggi sono scelti in modo veramente casuale. Per prendere la suddetta politica Wells Fargo, l'entropia totale massima delle loro password era quasi esattamente 41,4 bit, che è una miseria rispetto agli altri esempi che ho dato, ma ancora poco pratico per la forza bruta su una connessione Internet (in media, si dovrebbe devono fare circa 1.45 trilioni tentativi). Ciò non regge a un attaccante locale determinato, ma richiederebbe molto tempo su Internet anche se il sito non ha alcuna protezione anti-brute-forzante. Una tipica password generata da umani (e facilmente memorizzabile per l'umanità) generata da queste regole sarebbe molto meno sicura, però!