Password Generator
Generate secure, random passwords client-side
Symbol set:
!@#$%&*-_=+.?
Come funziona questo generatore
Ogni carattere viene estratto da crypto.getRandomValues() — lo stesso generatore di numeri casuali crittografico che il tuo browser usa per gli handshake TLS e le operazioni WebCrypto. Trae entropia dal kernel del sistema operativo, non da un polyfill JavaScript Math.random().
Applichiamo anche il rejection sampling quando mappiamo i byte casuali agli indici dei caratteri. Questo è un piccolo dettaglio che la maggior parte dei generatori di password sbaglia: se calcoli semplicemente byteCasuale % dimensioneSetCaratteri, introduci una piccola ma reale distorsione a favore dei caratteri inferiori del set (perché 256 non è divisibile equamente per, ad esempio, 94). La distorsione è solitamente troppo piccola per essere rilevante, ma per uno strumento commercializzato esplicitamente come crittografico, la correttezza è importante.
I due set di simboli, spiegati
Scegliere i simboli per le password è più difficile di quanto sembri. Il set completo (!@#$%^&*()-_=+[]{};:,.<>?/|~\'\"\\`) fornisce più entropia per carattere, ma crea attrito:
- Siti bancari e governativi spesso rifiutano silenziosamente certi simboli.
- Validatori di moduli legacy rimuovono o codificano simboli come HTML.
- Tastiere mobili rendono
{e~scomodi.
Per impostazione predefinita usiamo un set sicuro (!@#$%&*-_=+.?) che funziona nel 95%+ dei moduli. Se hai bisogno della massima entropia e il sito accetta tutto, attiva "Set esteso" per il set completo.
Cosa significa "forte"
La barra di forza si basa sull'entropia di Shannon — il numero di bit casuali nella tua password. Ogni bit raddoppia il numero di tentativi necessari per forzarla.
| Valutazione | Entropia | Tempo brute-force a 1T tentativi/sec |
|---|---|---|
| Debole | < 28 bit | Secondi |
| Discreto | 28–49 bit | Ore o giorni |
| Forte | 50–71 bit | Decenni |
| Molto forte | 72+ bit | Secoli |
Perché non viene salvato nulla
Questa pagina non memorizza la tua password da nessuna parte. La stringa generata vive nella memoria del browser fino a quando ricarichi, copi o ne generi una nuova. Niente localStorage, niente chiamate fetch, nessun evento analytics con la password. La pagina non ne genera nemmeno una automaticamente al caricamento — premi Genera quando ne vuoi una.
Attacchi online vs offline — perché la stessa password è "debole" e "va bene" allo stesso tempo
Quando digiti una password in un modulo di login web, il tuo tentativo viene verificato dal server del sito. I servizi moderni lo sorvegliano da vicino: dopo tre o cinque tentativi sbagliati l'account viene temporaneamente bloccato, richiede un captcha, o invia un'email di "attività sospetta". Anche con una lista di password trapelate, un attaccante può provare forse 5-10 tentativi al minuto prima di essere bloccato — e anche con un piccolo esercito di bot che distribuiscono i tentativi, è difficile superare qualche centinaio all'ora. Questo si chiama rate limiting (limitazione del tasso). Contro un attaccante limitato a qualche centinaio di tentativi all'ora, una password di 8 caratteri in minuscolo (28 bit di entropia, ~200 miliardi di possibilità) va bene. Semplicemente non può provarne abbastanza.
Lo scenario catastrofico è diverso. I siti vengono hackerati, i database trapelano, le cassaforti di password vengono rubate, i backup crittografati vengono esfiltrati. Quando questo accade, l'attaccante ha una *copia* dei dati sulla sua macchina. Nessun rate limit. Nessun blocco. Può lanciare una GPU farm contro — miliardi di tentativi al secondo. La stessa password di 8 caratteri che è durata per sempre contro il login del sito cade in qualche secondo. Il modello di minaccia si inverte nel momento in cui i dati lasciano l'ambiente controllato del server.
Ecco perché la stessa password appare come "debole" sulla barra anche se, per la maggior parte degli usi, è perfettamente sicura. La barra assume il caso peggiore: qualcuno ha il blob crittografato e può attaccarlo offline a piena velocità.
Cosa fa davvero per te un password manager
Un password manager risolve il problema dell'attacco offline in un modo che gli umani da soli non possono: ti permette di usare una password casuale unica di 20+ caratteri per ogni singolo sito, senza che il tuo cervello debba ricordarne nessuna. Memorizzi una password principale — la tua, scelta con cura, lunga, idealmente con parole che non dimenticherai mai — e il manager gestisce tutto il resto. Quando un sito viene hackerato, solo quella password specifica è esposta, ed è una stringa casuale di 20 caratteri che nessun attacco offline riuscirà a craccare in tempo utile. Il raggio del disastro scende da "tutti i miei account" a "questo singolo account, che cambierò".
Se non usi un password manager oggi, questo può essere il più grande upgrade di sicurezza delle password disponibile per te, e costa meno di un caffè al mese (o è gratuito, in alcuni casi). Il nostro generatore esiste per il momento in cui hai bisogno di una password forte casuale e non vuoi pensare — ma la password che ti dà è più utile quando è memorizzata da qualche parte di durevole, non memorizzata a mente.