Generatore di codici TOTP e HOTP
Genera codici 2FA TOTP e HOTP da un segreto Base32 o un URI otpauth://, con SHA-1, SHA-256 o SHA-512, conto alla rovescia e codice QR per le app.
Un segreto 2FA è delicato quanto una password. Qui tutto funziona in locale nel tuo browser: il segreto, i codici e il codice QR non vengono mai inviati da nessuna parte.
- Codice precedente
- —
- Codice attuale
- —
- Codice successivo
- —
I codici TOTP dipendono dall'orologio del dispositivo. Se non corrispondono, controlla che l'ora sia impostata automaticamente.
Configura un'app di autenticazione
Aggiungi un emittente e un nome account, poi scansiona il codice QR o copia il link otpauth:// nella tua app di autenticazione.
Come generare codici TOTP
- Incolla un segreto Base32 (per esempio
JBSWY3DPEHPK3PXP) o un linkotpauth://completo in Segreto (Base32) o URI otpauth://. Spazi, trattini, lettere minuscole e padding=mancante sono accettati. - I codici compaiono mentre scrivi, oppure quando premi Mostra codici. Un URI incollato compila per te i campi Tipo, Algoritmo, Cifre, Periodo (secondi), Emittente e Account.
- Leggi il Codice attuale al centro, con il Codice precedente e il Codice successivo ai lati. La barra sottostante conta i secondi che mancano al cambio del codice, e Copia codice lo copia senza lo spazio.
- Per i codici basati su contatore, scegli HOTP (basato su contatore), imposta il Contatore e usa Contatore successivo per avanzare.
- Per creare un nuovo segreto 2FA, premi Nuovo segreto casuale. Compila Emittente e Account, poi scansiona il codice QR con un’app di autenticazione, premi Copia URI oppure Scarica codice QR (PNG).
Come funzionano TOTP e HOTP
HOTP (RFC 4226) calcola un HMAC di un contatore di 8 byte con il segreto condiviso, poi applica il troncamento dinamico: gli ultimi quattro bit dell’HMAC scelgono un offset, da lì vengono letti quattro byte, il bit più alto viene azzerato e il numero viene ridotto modulo 10^cifre. Il risultato è un codice da 6 a 8 cifre.
TOTP (RFC 6238) è un HOTP in cui il contatore è l’intervallo di tempo corrente: T = floor(tempo Unix / periodo), con un periodo predefinito di 30 secondi. Il tuo telefono e il server calcolano lo stesso codice in modo indipendente, perché condividono il segreto e (più o meno) lo stesso orologio. Ecco perché vengono mostrati il Codice precedente e il Codice successivo: i server di solito accettano un intervallo prima o dopo per tollerare lo scostamento dell’orologio.
L’HMAC viene calcolato con la Web Crypto API del browser usando SHA-1, SHA-256 o SHA-512. SHA-1 con 6 cifre e 30 secondi è ciò che usa quasi ogni servizio; SHA-256 e SHA-512 sono ammessi dalla RFC 6238 ma alcune app li ignorano, quindi cambia i valori predefiniti solo se il servizio lo richiede.
L’URI otpauth:// e il codice QR
Le app di autenticazione si configurano con un URI come otpauth://totp/Example:alice@example.com?secret=…&issuer=Example&algorithm=SHA1&digits=6&period=30, di solito mostrato come codice QR. Lo strumento legge questi URI (comprese le etichette con percent-encoding come ACME%20Co) e ne crea di nuovi. Il codice QR viene disegnato in locale a partire dall’URI mostrato in URI otpauth://.
Un nuovo segreto casuale ha 20 byte (160 bit), la lunghezza consigliata dalla RFC 4226, ricavati da crypto.getRandomValues.
Consigli di sicurezza
- Il segreto è il secondo fattore stesso: chi lo possiede può generare i tuoi codici. Non incollare i segreti di account importanti su computer condivisi e non condividere mai screenshot del codice QR.
- Tutto viene calcolato in locale; niente passa sulla rete. Chiudi la scheda quando hai finito.
- Conserva i codici di backup forniti dal servizio: un segreto perso non si può recuperare.
Domande frequenti
Perché il mio codice non corrisponde a quello della mia app?
Controlla prima l’orologio del dispositivo: i codici TOTP cambiano a ogni periodo, quindi un orologio sfasato di più di circa 30 secondi produce codici diversi. Poi verifica che algoritmo, cifre e periodo corrispondano a quelli usati dal servizio.
Lo strumento è compatibile con Google Authenticator e app simili?
Sì. Segue la RFC 6238 e il formato URI otpauth usato da quelle app. Scansiona il codice QR o inserisci il segreto Base32 nell’app, ed entrambi dovrebbero mostrare lo stesso Codice attuale.
Che differenza c'è tra TOTP e HOTP?
TOTP avanza con il tempo, quindi un codice scade dopo il periodo. HOTP avanza con un contatore che aumenta ogni volta che un codice viene usato, quindi un codice resta valido finché non viene usato o sostituito.
Posso usare questo strumento come autenticatore quotidiano?
È pensato per test, sviluppo e recupero. Un’app sul telefono o una chiave hardware è più sicura per l’uso di tutti i giorni, perché il segreto non deve essere incollato ogni volta in una pagina web.
I calcoli sono stati verificati rispetto agli standard?
Sì. Lo strumento è testato con i valori HOTP dell’appendice D della RFC 4226 e con i valori TOTP dell’appendice B della RFC 6238 per SHA-1, SHA-256 e SHA-512.
Strumenti correlati
- Generatore HMAC Calcola un HMAC-SHA1, SHA-256, SHA-384 o SHA-512 con chiave testo, hex o Base64, ottieni output hex e Base64 e verifica la firma di un webhook nel browser.
- Generatore di password Generatore di password gratuito che crea password casuali e robuste da 4 a 128 caratteri nel browser, con un RNG sicuro. Nulla viene salvato o inviato.
- Generatore di QR code Crea QR code gratis per link, testo, Wi-Fi, contatti, email e SMS. Aggiungi colori e logo e scarica in PNG o SVG. Nulla lascia il tuo dispositivo.
- Condivisione del segreto di Shamir Dividi una password o una frase di recupero in N quote, di cui M qualsiasi la ricostruiscono, con lo schema di Shamir su GF(256), nel tuo browser.