Più di un anno fa, ho creato un piccolo software basato su moduli.
È uno scopo, come afferma il titolo, è generazione di stringhe casuali .
Ha opzioni per combinare numeri, maiuscoletto, maiuscoletto e caratteri speciali all'interno del set di caratteri ASCII (94 in totale). Avrà presto il supporto per UTF-8 (e sarà contrassegnato come opzionale / sperimentale, perché alcuni siti Web non consentono nulla tranne ASCII per le password).
Utilizza RNGCryptoServiceProvider
class e i suoi metodi ( GetBytes()
e
ToString()
) per produrre un output.
Se selezioniamo tutte le opzioni (ASCII intero), abbiamo 94 caratteri. Specifichiamo che vogliamo che il nostro output sia lungo 64 caratteri.
La nostra forza in bit è: 94 ^ 64 o log (base 2, 94) * 64 = 419
EDIT: Esempio: 4Ed(R{MQ_U9pQ#?9k'V2p1bpW+UrEBkebif9w'Qsp>n7i~PF,]DCdV18sqilN(ou
Domanda 1: È sicuro utilizzare questo output come password complessa?
Domanda 2: C'è altro che dovrei implementare per migliorare la sicurezza?
Linguaggio di programmazione: C #
IDE: SharpDevelop 4.4
Framework: .NET 4.5