Vai al contenuto principale
Sicurezza e privacy

Generatore e verificatore TOTP

Inserisci o genera un segreto Base32 da 160 bit, scegli SHA-1, SHA-256 o SHA-512, 6 o 8 cifre e il periodo: il codice TOTP corrente si aggiorna con un conto alla rovescia, l’URI otpauth:// è pronta per un’app di autenticazione e puoi verificare un codice con una tolleranza di un periodo.

  • Appunti

Integra questo widget

Personalizza il risultato, controlla l’anteprima e copia il codice.

Anteprima

Tipo di codice di integrazione

Codice da copiare

Responsive e ridimensionato automaticamente da Bethemesh.

La chiave condivisa mostrata sotto il QR code di attivazione (lettere A-Z e cifre 2-7).

Questo strumento ti è stato utile?

Come funziona questo strumento?

Questo strumento calcola i codici monouso TOTP, quelli mostrati da Google Authenticator, Microsoft Authenticator o 1Password, a partire da un segreto Base32. Aiuta gli sviluppatori che integrano l’autenticazione a due fattori a testare la loro implementazione e gli amministratori a controllare un segreto o preparare un’URI di registrazione.

TOTP (RFC 6238) è la variante temporale di HOTP (RFC 4226). Si calcola un contatore T = floor(ora Unix / periodo), 30 secondi per impostazione predefinita, poi HMAC(segreto, T) con SHA-1, SHA-256 o SHA-512. Il «troncamento dinamico» estrae 4 byte dell’HMAC a partire da un offset dato dai suoi ultimi 4 bit, e il risultato modulo 10^6 (o 10^8) è il codice. Esempio della RFC: con il segreto ASCII `12345678901234567890` (Base32 `GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ`), SHA-1 e l’istante 59 s, il codice a 8 cifre è 94287082.

Lo strumento decodifica il segreto Base32 (o ne genera uno da 160 bit, 32 caratteri, con crypto.getRandomValues), calcola il codice corrente con Web Crypto e lo aggiorna con un conto alla rovescia fino al periodo successivo. Costruisce l’URI `otpauth://totp/Emittente:account?secret=…&issuer=Emittente&algorithm=SHA1&digits=6&period=30` che le app importano, di solito tramite un QR code. In verifica confronta il codice inserito con quelli del periodo precedente, corrente e successivo, assorbendo un piccolo scarto dell’orologio.

Come usare questo strumento

  1. Imposta il segreto

    Incolla un segreto Base32 o generane uno da 160 bit, poi scegli l’algoritmo (SHA-1, SHA-256, SHA-512), il numero di cifre (6 o 8) e il periodo (30 s per impostazione predefinita).

  2. Leggi il codice e l’URI

    Il codice corrente compare con il suo conto alla rovescia; indica emittente e nome dell’account per ottenere l’URI otpauth:// da importare in un’app.

  3. Verifica un codice

    Scrivi un codice ricevuto: lo strumento ti dice se corrisponde al periodo corrente, precedente o successivo.

Casi d’uso

Testare un’integrazione 2FA

Stai sviluppando l’attivazione a due fattori: genera un segreto, importa l’URI nella tua app di autenticazione e verifica che il server accetti gli stessi codici.

Fare debug di codici 2FA rifiutati

Confronta il codice atteso per un segreto con quello dell’app dell’utente per distinguere un segreto sbagliato, un algoritmo diverso o un orologio fuori sincrono.

Registrare un account di servizio condiviso

Costruisci l’URI otpauth:// con emittente e nome account corretti, poi trasformala in un QR code per il team che deve registrare l’account.

Consigli e buone pratiche

  • Per la massima compatibilità con le app mantieni SHA-1, 6 cifre e 30 secondi: alcune, tra cui Google Authenticator, hanno a lungo ignorato i parametri algorithm, digits e period dell’URI.
  • Spazi e lettere minuscole in un segreto mostrato a gruppi («jbsw y3dp …») non cambiano il valore Base32; uno 0 o un 1, invece, non appartengono all’alfabeto Base32 e indicano un errore di trascrizione.
  • Lato server, rifiuta il riutilizzo di un codice già accettato durante la sua finestra di validità, come raccomanda la RFC 6238: la tolleranza di un periodo non deve permettere di riutilizzare un codice.

Domande frequenti

Perché il mio codice TOTP non funziona?

La causa più frequente è un orologio sfasato sul telefono o sul server: bastano poche decine di secondi per cambiare periodo. Seguono un segreto copiato male e un algoritmo, un numero di cifre o un periodo diversi da quelli attesi dal servizio. Attiva l’ora automatica e confronta il codice di questo strumento con quello dell’app.

Che differenza c’è tra TOTP e HOTP?

HOTP (RFC 4226) calcola il codice da un contatore che aumenta a ogni utilizzo e deve restare sincronizzato tra client e server. TOTP (RFC 6238) sostituisce il contatore con il tempo diviso in periodi di 30 secondi, così il codice scade da solo. Quasi tutte le app 2FA diffuse usano TOTP.

Dove trovo la chiave segreta TOTP?

Il servizio la mostra quando attivi la 2FA, sotto il QR code, spesso come «chiave di configurazione» o «inserisci il codice manualmente». Il QR code stesso contiene un’URI otpauth:// il cui parametro secret è proprio quella chiave in Base32. Terminata l’attivazione, la maggior parte dei servizi non la mostra più.

Posso usare SHA-256 o 8 cifre con Google Authenticator?

Non è garantito: la documentazione storica del formato URI indica che Google Authenticator ignorava algorithm, digits e period e generava codici SHA-1 a 6 cifre che poi non corrispondono. App come 1Password o Authy accettano SHA-256 e SHA-512. Per un servizio pubblico, SHA-1 a 6 cifre resta la scelta compatibile, ed è sicuro nella costruzione HMAC.

Per quanto tempo è valido un codice TOTP?

Un codice corrisponde a un periodo, 30 secondi per impostazione predefinita. Molti server, come questo strumento in verifica, accettano anche il periodo precedente e quello successivo per compensare latenza e scarto dell’orologio, con una finestra effettiva di circa 90 secondi.

È rischioso incollare il mio segreto 2FA in uno strumento online?

Il segreto genera tutti i tuoi codici futuri: chi lo possiede ha il tuo secondo fattore. Qui il calcolo avviene solo nel tuo browser con Web Crypto e non viene trasmesso nulla. Evita comunque di incollare il segreto di un vero account di produzione su un dispositivo condiviso; meglio un segreto di prova.

Strumenti correlati

Strumenti simili o complementari a questo.

Funziona bene con

Genera token casuali sicuri da 8 a 256 byte in esadecimale, Base64 o Base64URL, con prefisso opzionale.

Sicurezza e privacyNuovoUsa questo strumento

Calcola un HMAC SHA-1, SHA-256, SHA-384 o SHA-512 in hex o Base64 e verifica una firma di webhook.

Sicurezza e privacyNuovoUsa questo strumento

Genera password sicure e casuali da 8 a 128 caratteri, con l’entropia indicata.

Sicurezza e privacyIn evidenzaUsa questo strumento