Generatore di Password Casuali
Imposta le opzioni: la password viene generata all'istante con una fonte casuale crittograficamente sicura, interamente nel tuo browser.
Attiva almeno un insieme di caratteri per generare una password.
Casualità vera, non Math.random
La maggior parte dei generatori di password nel browser usa
Math.random() perché è il nome di funzione più ovvio.
Il problema è che Math.random() è un generatore
pseudo-casuale veloce pensato per grafica e simulazioni, non per la
sicurezza — non è progettato per resistere alla previsione, e
trattare il suo output come un segreto è una debolezza reale e
documentata. Questo generatore usa invece
crypto.getRandomValues(), che attinge dalla fonte di
numeri casuali crittograficamente sicura del tuo sistema operativo —
la stessa qualità di casualità usata per generare le chiavi di
cifratura. Ogni carattere è scelto in modo indipendente tra gli
insiemi che hai attivato, e l'opzione "Escludi caratteri ambigui"
rimuove i caratteri che si assomigliano
(i l 1 L o 0 O) da quegli insiemi prima di iniziare la
selezione, utile quando una password va digitata o letta ad alta
voce invece che incollata.
Esempio pratico
Con le impostazioni predefinite — lunghezza 16, tutti e quattro gli insiemi di caratteri attivi, esclusione ambigui disattivata — l'insieme combinato ha 88 caratteri (26 maiuscole + 26 minuscole + 10 cifre + 26 simboli). L'entropia è lunghezza × log2(dimensione dell'insieme): 16 × log2(88) ≈ 16 × 6,459 ≈ 103,4 bit, che questo strumento etichetta come "Molto forte". Disattivando simboli e numeri l'insieme scende a 52 caratteri e la stessa lunghezza dà circa 91,2 bit — ancora forte, ma la matematica mostra esattamente quanto costa ogni opzione.
Domande frequenti
Perché crypto.getRandomValues invece di Math.random?
Math.random() è generato da un algoritmo pseudo-casuale veloce e prevedibile, pensato per cose come animazioni e giochi — NON è crittograficamente sicuro, e in alcuni motori browser il suo stato interno può essere ricostruito da poche osservazioni del suo output. crypto.getRandomValues() attinge invece dal generatore di numeri casuali crittograficamente sicuro del sistema operativo, la stessa fonte usata per le chiavi di cifratura. Per qualsiasi cosa protegga un account, questa differenza è tutto.
Quanto dovrebbe essere lunga una password?
16 caratteri o più per tutto ciò che conta davvero — email, home banking, la password principale del tuo gestore di password. 12 è un limite minimo ragionevole per account meno critici. La lunghezza conta più dell'ingegnosità: una password lunga e casuale batte una corta con sostituzioni tipo 'P@ssw0rd!', che gli attaccanti mettono già in conto.
Cos'è l'entropia e perché conta?
L'entropia misura quanti tentativi servirebbero a un attaccante, espressa in bit — ogni bit in più raddoppia lo spazio di ricerca. Qui è calcolata come lunghezza × log2(dimensione dell'insieme di caratteri). Più bit significa uno spazio più grande da forzare, ma è una semplificazione: presuppone che ogni carattere sia scelto in modo indipendente e uniformemente casuale, vero per questo generatore ma non per le password inventate a mano dalle persone.
La password generata viene salvata da qualche parte?
No. La password è generata e mostrata interamente nel tuo browser tramite JavaScript — non viene mai inviata a un server, registrata o scritta nell'URL. Appena esci dalla pagina o chiudi la scheda, sparisce, a meno che tu non l'abbia copiata.