Generatore di Password

Genera password casuali robuste con lunghezza e set di caratteri personalizzabili — usando la casualità crittografica del tuo browser.

1.319 visualizzazioni

Come Funziona

La forza di una password non è additiva, è esponenziale: il numero di combinazioni possibili equivale alla dimensione del set di caratteri elevata alla potenza della lunghezza (setCaratteri^lunghezza), ed è proprio questo esponente a rendere la lunghezza la leva singola più potente a disposizione. Una password di 8 caratteri che usa solo lettere minuscole attinge da un set di 26 caratteri, dando 26^8 — circa 208 miliardi di combinazioni possibili, che sembrano tante finché l'hardware moderno non testa miliardi di tentativi al secondo. Aggiungi maiuscole, cifre e simboli ed estendi la lunghezza a 12 caratteri, e il set cresce a circa 95 caratteri, dando 95^12 — nell'ordine di 540 mila triliardi (5,4 × 10^23) di combinazioni. Non è un miglioramento modesto; è più grande di molti ordini di grandezza, perché ogni carattere aggiuntivo moltiplica anziché sommarsi al totale. Esempio concreto: passare da una password di 8 caratteri solo minuscole a una di 12 caratteri con tutti e quattro i tipi di carattere non raddoppia semplicemente la sicurezza, sposta il tempo di attacco a forza bruta da "violabile in un lasso di tempo ragionevole" a "ben oltre qualsiasi attacco realistico, anche contro l'hardware futuro".

Questo generatore estrae ogni carattere usando crypto.getRandomValues — il generatore di numeri casuali crittograficamente sicuro del browser — anziché Math.random(). Questa distinzione è importante: Math.random() è un generatore pseudo-casuale veloce e prevedibile pensato per animazioni e giochi, e il suo stato interno può in alcuni casi essere ricostruito a partire dall'output osservato, rendendolo inadatto a qualsiasi uso legato alla sicurezza. crypto.getRandomValues attinge invece dalla fonte di entropia crittografica del sistema operativo, progettata specificamente per essere imprevedibile anche per un aggressore che abbia già osservato output precedenti.

Cosa Sapere

La lunghezza batte la complessità quasi sempre. Una password di 16 caratteri che usa solo lettere minuscole (26^16) è matematicamente molto più forte di una password di 8 caratteri che mescola tutti i tipi di carattere (95^8), semplicemente perché l'esponente domina sulla base. Quando devi scegliere tra una password più lunga e più semplice o una più corta e più complessa, scegli quella più lunga.

La password non lascia mai il tuo dispositivo: viene generata interamente nel tuo browser e questo strumento non trasmette, registra o memorizza nulla su alcun server. Aggiornare o chiudere la pagina la distrugge completamente, ed è esattamente per questo che andrebbe copiata subito in un password manager anziché lasciata sullo schermo o in un file di testo.

Riutilizzare la stessa password su più account trasforma una singola violazione di dati in molte. Se il database di un sito subisce una fuga di dati — e le violazioni capitano anche a servizi curati e ben gestiti — ogni altro account che condivide quella password diventa vulnerabile nel momento in cui l'elenco delle password violate comincia a circolare. Una password unica e generata per ogni sito, conservata in un password manager, confina il danno di una singola violazione a quel solo account.

Domande Frequenti

Quanto dovrebbe essere lunga la mia password?

Almeno 12 caratteri per gli account normali e 16 o più per quelli critici (email, banca). La lunghezza batte la complessità: una password di 16 caratteri minuscoli è più forte di una di 8 caratteri con simboli.

La password generata viene inviata a un server?

No. Viene prodotta interamente sul tuo dispositivo dall'API crypto.getRandomValues del browser e non lo lascia mai. Aggiornare la pagina la distrugge.

Dovrei usare la stessa password su più siti?

Mai. Una violazione su un sito esporrebbe tutti i tuoi account. Genera una password unica per ogni sito e conservale in un password manager.

Perché aggiungere un carattere in più aiuta più che aggiungere un simbolo?

Perché la lunghezza è un esponente e la varietà dei caratteri è solo la base. Aggiungere un carattere alla lunghezza moltiplica il numero totale di combinazioni per l'intera dimensione del set di caratteri; aggiungere un altro tipo di simbolo aumenta la base solo di poche unità. Per qualsiasi lunghezza di password realistica, l'aumento di lunghezza vince con ampio margine.

Math.random() non è già abbastanza casuale?

Per giochi o animazioni sì — ma è un generatore pseudo-casuale veloce, non crittografico, e il suo output può in alcune circostanze essere previsto o ricostruito. La generazione di password richiede crypto.getRandomValues, la fonte crittograficamente sicura del browser, che questo strumento usa in modo esclusivo.

Commenti

Ancora nessun commento — scrivi il primo!

Strumenti Simili