Generatore di password

Genera password casuali robuste scegliendo quali insiemi di caratteri includere. Il Generatore di password mostra l'entropia in bit e funziona interamente nel tuo browser.

Tutti i calcoli vengono eseguiti nel browser. Nulla di ciò che inserisci viene inviato a un server.

01 calcolatrice

Risultato

    Modalità
    Modalità
    Insiemi di caratteri
    Modificatori

    Il Generatore di password produce password casuali dagli insiemi di caratteri che scegli e riporta la robustezza di ciascuna in bit di entropia, non con un'etichetta vaga. La lunghezza va da 4 a 128 caratteri, con esclusioni opzionali per caratteri ambigui e parentesi, e una modalità passphrase che crea password multi-parola memorabili.

    Ogni password viene generata nel browser usando il generatore di numeri casuali crittografico del sistema operativo. Nulla viene trasmesso, registrato o memorizzato.

    Generare una password casuale

    Concept diagram: Input leads to Generare una password casuale leads to RisultatoInputGenerare una passwordcasualeRisultato
    Generare una password casuale.

    Imposta una lunghezza, scegli da quali insiemi di caratteri attingere, e il generatore restituisce una password subito. Rigenera quante volte vuoi: ogni pressione produce un nuovo sorteggio dallo stesso pool, e nessuna viene registrata da nessuna parte.

    Sedici caratteri tratteggiati da tutti e quattro gli insiemi è un default ragionevole per tutto ciò che protegge denaro o identità. Dodici è adeguato dove un servizio limita i tentativi di accesso. Sotto i dodici, una password è sicura quanto le difese del sito stesso, e quelle non sono verificabili.

    La lunghezza conta più della complessità. Aggiungere un carattere a un pool da 94 caratteri moltiplica lo spazio di ricerca per 94. Sostituire una lettera minuscola con un simbolo in una password di lunghezza fissa fa molto meno. Se un sito limita la password a 16 caratteri, usa tutti e 16.

    Scegliere quali insiemi di caratteri includere

    Concept diagram: Input leads to quali insiemi di caratteri includere leads to RisultatoInputquali insiemi dicaratteri includereRisultato
    Scegliere quali insiemi di caratteri includere.

    Sono disponibili quattro insiemi, e ognuno che abiliti amplia il pool da cui ogni carattere viene estratto.

    InsiemeCaratteriConteggio
    Minuscolea-z26
    MaiuscoleA-Z26
    Cifre0-910
    Simboli`!"#$%&'()*+,-./:;<=>?@[\]^_{\}~``32

    Tutti e quattro insieme danno un pool da 94 caratteri. Tre modificatori lo restringono:

    Escludi caratteri ambigui rimuove i I l 1 L |, o O 0, e le virgolette e la punteggiatura simili. Vale la pena usarlo per una password che leggerai da uno schermo e digiterai su un altro dispositivo, o detterai al telefono. Costa una piccola quantità di entropia e evita frustrazione reale.

    Escludi parentesi rimuove < > ( ) [ ] { }. Alcuni sistemi legacy le gestiscono male nei moduli di accesso, e alcuni ambienti shell le trattano in modo speciale quando una password è usata in uno script.

    Nessun carattere ripetuto garantisce che ogni carattere compaia una sola volta. Sembra più robusto ed è leggermente più debole: restringe il pool a ogni carattere posizionato e limita la lunghezza della password alla dimensione del pool. Usalo solo quando una policy lo impone.

    C'è anche una scelta tra estrarre ogni carattere dal pool combinato, o garantire almeno un carattere da ogni insieme selezionato. La seconda opzione esiste perché molte policy aziendali lo richiedono. Nota che forzare uno per ogni insieme riduce leggermente l'entropia, perché elimina alcune combinazioni valide tra i possibili output.

    Misurare la robustezza della password in bit di entropia

    Concept diagram: Input leads to Misurare la robustezza in bit di entropia… leads to RisultatoInputMisurare la robustezzain bit di entropia…Risultato
    Misurare la robustezza della password in bit di entropia.

    L'entropia misura quante ipotesi servono a un attaccante, espressa come potenza di due. È l'unico modo significativo per confrontare le password, perché un indicatore di robustezza che dice "forte" non dice contro cosa lo è.

    Entropy (bits) = length × log₂(pool size)
    Combinations   = pool size ^ length

    I bit sono additivi e ognuno raddoppia il lavoro. Una password da 60 bit richiede il doppio del tempo per essere violata rispetto a una da 59 bit, e 1,024 volte tanto quanto una da 50 bit. Ecco perché piccoli aumenti di lunghezza producono grandi aumenti di sicurezza.

    Soglie approssimative, e il motivo per cui ciascuna conta:

    • Sotto i 40 bit: violabile in minuti da chiunque abbia una GPU consumer. Adeguata per nulla che conti.
    • 50-60 bit: resiste a un attacco occasionale, cede a un attacco offline determinato. Va bene per l'accesso a un forum.
    • 70-80 bit: sicura contro attacchi offline realistici oggi. Un obiettivo sensato per la maggior parte degli account.
    • Oltre i 100 bit: oltre ciò che qualsiasi hardware prevedibile può forzare per brute force. Adatto per le password master del gestore di password e le chiavi di crittografia.

    Calcolare l'entropia di una password di 16 caratteri

    Concept diagram: Input leads to entropia di una password di 16 caratteri leads to RisultatoInputentropia di unapassword di 16caratteriRisultato
    Calcolare l'entropia di una password di 16 caratteri.

    Una password di 16 caratteri estratta da tutti e quattro gli insiemi porta circa 105 bit di entropia. Ecco il calcolo. 1. Somma il pool. 26 minuscole + 26 maiuscole + 10 cifre + 32 simboli = 94 caratteri 2. Trova i bit per carattere. log₂(94) = 6.55 bit

    3. Moltiplica per la lunghezza. 16 × 6.55 = 104.9 bit

    4. Esprimilo come conteggio. 94¹⁶ ≈ 3.7 × 10³¹ password possibili

    Riducila a 12 caratteri e l'entropia scende a 78.6 bit, con 4.7 × 10²³ combinazioni. Ancora robusta, e circa 68 miliardi di volte più facile da attaccare rispetto alla versione da 16 caratteri. Rimuovi l'insieme simboli dalla password da 16 caratteri e il pool scende a 62, dando 95.3 bit, una perdita minore rispetto a accorciare di quattro caratteri.

    Vale la pena fermarsi su questo confronto. Rimuovere quattro caratteri costa più che rimuovere un intero insieme di caratteri. La lunghezza è la leva.

    Capire quanto tempo serve per violare una password

    Process with 3 steps: Enter how long a password takes…; Read the main result; Check the breakdown1Enter how long apassword takes…2Read the main result3Check the breakdown
    Capire quanto tempo serve per violare una password.

    Qualsiasi cifra singola di "tempo per violare" è priva di significato senza indicare l'attacco. La stessa password cede in secondi o sopravvive al sole a seconda di come l'attaccante ipotizza, quindi il generatore riporta due scenari e li nomina entrambi.

    Expected guesses = 2^(entropy − 1)
    Time             = expected guesses / guesses per second

    Attacco online, circa 10³ ipotesi al secondo. L'attaccante invia ipotesi a un modulo di accesso attivo. Limitazione di velocità, blocchi e latenza di rete limitano la velocità. La maggior parte degli attacchi reali contro un singolo account assomiglia a questo, e quasi ogni password generata sopravvive a tempo indefinito.

    Attacco offline, circa 10¹² ipotesi al secondo. Il servizio è stato violato e l'attaccante possiede gli hash delle password. Con un cluster GPU e un hash veloce come MD5 o SHA-1 non salati, le ipotesi arrivano a un trilione al secondo o più. Questo è lo scenario che conta, perché è quello che non puoi influenzare.

    A 10¹² ipotesi al secondo, una password da 78 bit richiede circa 4.800 anni e una da 105 bit richiede più dell'età dell'universo di molti ordini di grandezza. Una password da 40 bit cede in meno di un secondo.

    Una avvertenza che i numeri nascondono: queste cifre assumono che l'attaccante ipotizzi alla cieca. Una password costruita con parole, date o pattern da tastiera cede molto più in fretta di quanto suggerisca il conteggio caratteri, perché gli attaccanti ipotizzano prima i candidati probabili. Ecco perché le password qui sono estratte casualmente, non assemblate da qualcosa di memorabile.

    Usare una passphrase invece di una stringa casuale

    Concept diagram: Input leads to una passphrase invece di una stringa… leads to RisultatoInputuna passphrase invecedi una stringa…Risultato
    Usare una passphrase invece di una stringa casuale.

    Una passphrase è diverse parole casuali unite. Raggiunge un'entropia simile a una stringa casuale restando possibile da ricordare e digitare, ed è adatta alle poche password che non puoi conservare in un gestore.

    Entropy = number of words × log₂(word list size)

    Con un elenco da 7.776 parole, ogni parola contribuisce log₂(7776) = 12.9 bit.

    ParoleEntropiaComparabile a
    451.7 bitUna password casuale da 8 caratteri
    564.6 bitUna password casuale da 10 caratteri
    677.5 bitUna password casuale da 12 caratteri
    790.4 bitUna password casuale da 14 caratteri

    Sei parole danno 77.5 bit, solida contro un attacco offline, e qualcosa che la maggior parte delle persone può memorizzare in poche ripetizioni. Confronta digitare correct-horse-battery-staple-mountain-glass con K7#mQ2vX@pL9. Entrambe sono robuste; solo una può essere richiamata e digitata con un telecomando del televisore.

    Due regole rendono una passphrase sicura. Le parole devono essere scelte casualmente da una macchina, non da te: la scelta umana si concentra molto su vocabolario comune e associazioni tematiche. E non devono formare una frase che esista da qualche parte, perché un verso di canzone citato ha quasi zero entropia per quante parole contenga.

    Usa una passphrase per la password master del gestore di password, l'accesso al dispositivo e l'account email. Usa stringhe casuali, conservate nel gestore, per tutto il resto.

    Capire perché questo generatore usa crypto.getRandomValues

    Concept diagram: Input leads to perché questo generatore usa… leads to RisultatoInputperché questogeneratore usa…Risultato
    Capire perché questo generatore usa crypto.getRandomValues.

    Il Generatore di password estrae ogni carattere da crypto.getRandomValues(), il generatore di numeri casuali crittografico del browser, alimentato dal pool di entropia del sistema operativo. Non usa Math.random(), e questa distinzione è la differenza tra una password e l'apparenza di una.

    Math.random() è un generatore pseudocasuale veloce pensato per simulazioni e giochi. Il suo stato interno è piccolo, i browser lo documentano come inadatto alla sicurezza, e l'output è prevedibile per chi ne osserva abbastanza o conosce l'implementazione e approssimativamente quando un valore è stato generato. Un generatore di password basato su Math.random() produce password ricostruibili piuttosto che da indovinare, e il conteggio caratteri non offre alcuna protezione contro questo.

    C'è un secondo requisito più sottile. Mappare byte casuali su un insieme di caratteri con un'operazione di resto introduce bias: 2³² non divide equamente per 94, quindi i primi caratteri dell'insieme compaiono leggermente più spesso del resto. Lo scostamento è invisibile in ogni singola password e misurabile su abbastanza di esse, e abbassa l'entropia reale sotto la cifra calcolata. Questo generatore usa rejection sampling: un valore che cade nella coda non uniforme viene scartato e ridisegnato, così la distribuzione è genuinamente uniforme.

    Nessun seed viene mostrato per le password, ed è deliberato. Altri generatori casuali su questo sito mostrano il seed così un risultato può essere riprodotto e verificato. Una password riproducibile è una password compromessa, quindi nessun seed viene memorizzato, mostrato o derivabile qui.

    Tutto avviene nel browser. Nessuna password viene inviata a un server, scritta in memoria, o inclusa in un evento analytics.

    Conservare le password in modo sicuro

    Concept diagram: Input leads to Conservare le password in modo sicuro leads to RisultatoInputConservare le passwordin modo sicuroRisultato
    Conservare le password in modo sicuro.

    Una password generata aiuta solo se usata una volta e conservata dove puoi recuperarla. Il riutilizzo è il fallimento che annulla tutto il resto: quando un servizio viene violato, gli attaccanti provano le credenziali recuperate ovunque, e una password da 105 bit riutilizzata su dieci siti non ne protegge nessuno dopo che il più debole cede.

    Quattro pratiche, in ordine di importanza:

    Usa un gestore di password. Elimina la necessità di ricordare o ridigitare, e quindi l'incentivo a riutilizzare o semplificare. Proteggilo con una passphrase lunga, e conserva offline quella passphrase e la chiave di recupero in un luogo fisicamente sicuro.

    Attiva l'autenticazione a due fattori ovunque sia offerta, e preferisci un'app authenticator o una chiave hardware rispetto agli SMS. I codici SMS possono essere intercettati tramite SIM swapping. Un secondo fattore mantiene un account sicuro anche quando la password è nota.

    Cambia una password quando c'è un motivo. La rotazione programmata ogni novanta giorni non è più raccomandata da NIST, perché spinge verso variazioni prevedibili. Cambia subito a ogni segnale di violazione, a ogni sospetto, e per ogni password che sai di aver riutilizzato.

    Controlla i tuoi indirizzi contro violazioni note. I servizi che permettono di cercare il tuo indirizzo email nei dati pubblici di violazioni ti dicono quali account richiedono attenzione ora, più utile che cambiare tutto a calendario.

    Domande frequenti

    Quanto deve essere lunga una password?

    Sedici caratteri è un buon default per account che proteggono denaro, identità o comunicazioni, dando circa 105 bit di entropia da un insieme completo di caratteri. Dodici caratteri, a circa 79 bit, è adeguato per account a minor valore. Dove un sito ne permette di più, usane di più: ogni carattere aggiuntivo moltiplica lo spazio di ricerca per la dimensione del pool.

    Cosa rende una password robusta?

    Casualità e lunghezza, in quest'ordine. Una password robusta è estratta in modo imprevedibile da un pool ampio di caratteri ed è abbastanza lunga perché il numero totale di possibilità sia impraticabile da esplorare. Sostituzioni come p@ssw0rd aggiungono quasi nulla, perché gli attaccanti ipotizzano quei pattern per primi. L'entropia in bit misura la robustezza reale; un'etichetta "forte" no.

    Le password generate qui sono sicure da usare?

    Sì. Ogni password è generata nel browser da crypto.getRandomValues(), il generatore di numeri casuali crittografico del sistema operativo, usando rejection sampling così la distribuzione dei caratteri è uniforme. Nessuna password viene trasmessa, registrata o memorizzata, e nessuno script di terze parti con accesso alla pagina viene eseguito qui.

    La mia password viene inviata da qualche parte?

    No. La generazione avviene interamente nel browser e nessun valore generato lo lascia. Nulla viene scritto nella memoria del browser, incluso in un link di condivisione, o trasmesso in un evento analytics. Chiudere la scheda elimina la password in modo permanente, quindi copiala nel gestore di password prima di uscire.

    Cosa significa entropia in bit?

    L'entropia in bit esprime quante ipotesi servono a un attaccante, come potenza di due. Una password da 60 bit richiede circa 2⁵⁹ ipotesi attese. Ogni bit aggiuntivo raddoppia la difficoltà, ed è per questo che la cifra cresce rapidamente con la lunghezza: 16 caratteri da un pool da 94 caratteri danno 104.9 bit, o circa 3.7 × 10³¹ possibilità.

    Devo includere simboli nella mia password?

    Includili dove il sito li accetta, ma non scegliere simboli al posto della lunghezza. Aggiungere l'insieme simboli da 32 caratteri a una password da 16 caratteri alza l'entropia da 95.3 a 104.9 bit. Aggiungere quattro caratteri a una password senza simboli la alza da 95.3 a 119.1. La lunghezza è la leva più forte.

    Cos'è una passphrase ed è robusta quanto una password casuale?

    Una passphrase è diverse parole scelte casualmente unite. Sei parole da un elenco da 7.776 parole danno 77.5 bit, comparabile a una password casuale da 12 caratteri, ed è molto più facile da ricordare e digitare. Deve essere scelta dalla macchina e non deve formare una frase esistente, perché una citazione riconoscibile porta quasi zero entropia.

    Posso riutilizzare una password robusta su più account?

    No. Il riutilizzo è l'abitudine con le password più dannosa, e la robustezza non protegge da questo. Quando un servizio viene violato, gli attaccanti provano le credenziali recuperate su ogni sito principale. Ogni account ha bisogno della propria password unica, che è il problema che un gestore di password esiste per risolvere.

    Con quale frequenza devo cambiare la password?

    Cambiala quando c'è un motivo: una violazione nota o sospetta, una password condivisa o riutilizzata, o un dispositivo che non controlli più. NIST ha ritirato la guida sulla rotazione programmata perché i cambi regolari forzati spingono verso variazioni prevedibili come aggiungere un numero, il che indebolisce la sicurezza invece di migliorarla.

    Cos'è il modulo bias e perché conta?

    Il modulo bias è lo scostamento introdotto quando byte casuali vengono mappati su un insieme di caratteri con un semplice resto, perché l'intervallo dei byte raramente divide equamente per la dimensione dell'insieme. Alcuni caratteri compaiono allora leggermente più spesso, abbassando l'entropia reale sotto la cifra calcolata. Questo generatore scarta e ridisegna i valori nella coda non uniforme così la distribuzione è genuinamente uniforme.

    Riepilogo

    Il Generatore di password estrae password da un pool fino a 94 caratteri usando il generatore di numeri casuali crittografico del browser, con rejection sampling per mantenere uniforme la distribuzione dei caratteri, e riporta la robustezza come entropia in bit piuttosto che come etichetta.

    La lunghezza è il fattore più forte: una password da 16 caratteri dall'insieme completo porta circa 105 bit, e accorciarla di quattro caratteri costa più entropia che rimuovere l'intero insieme simboli. Le cifre di tempo per violare sono date sia per un attacco online a 10³ ipotesi al secondo sia per uno offline a 10¹², perché una cifra singola non qualificata non significa nulla. La modalità passphrase raggiunge una robustezza comparabile restando memorabile, adatta alle poche password che non possono restare in un gestore. Ogni password è generata localmente e nessuna viene trasmessa, registrata o memorizzata.

    Note di implementazione

    • crypto.getRandomValues() only. Math.random() in this file is a shipped vulnerability. Rejection sampling is required; test uniformity with a chi-squared fit over 10M draws on a 94-item set.
    • Entropy figures are test fixtures: 16 chars / 94 pool = 104.9 bits; 12 / 94 = 78.6; 16 / 62 = 95.3; 20 / 62 = 119.1; 6 words / 7776 = 77.5.
    • No seed displayed, stored or derivable on this page. The receipt panel states the CSPRNG and the no-transmission guarantee only.
    • The no-transmission line in the lead is a promise. No analytics event may carry a generated value; no third-party script with DOM access may load here.
    • No password history, no persistence, no localStorage.
    • NIST rotation guidance reference is SP 800-63B. Cite it if a citation is added; do not invent a version number.
    • Word count 2,090.