TextToolbox Strumenti di testo istantanei

Generatore di Password Casuali

Imposta le opzioni: la password viene generata all'istante con una fonte casuale crittograficamente sicura, interamente nel tuo browser.

Entropia stimata

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.