Generalmente la probabilità si riduce alla dimensione dell'intervallo. Quindi, ad esempio, per una password di 4 caratteri, la password occupa il numero di caratteri disponibili elevato alla potenza del numero di posizioni nella password.
Ad esempio, un pin banca - 4 cifre, 10 caratteri (0-9) - 1000 possibili password, rendendo la probabilità 1/10000.
Ora il tuo problema è più difficile, dal momento che il tuo intervallo non è tutte le password disponibili, hai rimosso alcune delle password altamente ipotetiche. Quello che dovrai fare è capire quante potenziali password vengono eliminate da ogni regola e assicurati di tenere conto delle regole che si sovrappongono ... ad esempio 12345678 è sia una sequenza che tutti i personaggi. Quindi prendi lo spazio totale della password, sottrai le password proibite da ogni regola, assicurandoti di non contare due volte un determinato tipo di password.
Non sono sicuro di cosa intendi con "non può avere la parola" johnbook "" forse sono troppo letterale - ovviamente "johnbook" è solo una password. Vuoi dire che non può avere quella parola particolare, o non può avere un nome comune noto o una combinazione di parole brevi? Ad esempio, anche "bethdesk" è vietato? Qual è la dimensione del dizionario da controllare e tutte le combinazioni di parole sono lunghe e brevi vietate? Dovresti essere in grado di usare la combinatoria per capire, ma hai bisogno dell'algoritmo o delle regole per il controllo della password per sapere quanto questo limita la dimensione dello spazio della password.
Inoltre, virtualmente qualsiasi combinazione di parole sarà anche una sequenza di "tutti i personaggi" - quindi l'hai praticamente eliminata, o il sistema sta verificando sostituzioni ovvie - come "passw0rd"?