Password casuali da lettere, cifre e simboli tramite crypto.getRandomValues.
Generatore di codici TOTP/HOTP
Lo strumento è in inglese; questa pagina ne fornisce una spiegazione nella tua lingua.
Usa Generatore di codici TOTP/HOTP
Cosa fa
Calcola password monouso basate sul tempo (TOTP) o su un contatore (HOTP) per una chiave segreta in Base32, proprio come fanno le app di autenticazione, e verifica se un codice corrisponde. Utile per testare la propria configurazione 2FA.
Funziona interamente nel browser: nulla di ciò che inserisci viene caricato online.
Come utilizzare Generatore di codici TOTP/HOTP
- Inserisci il segreto. Incolla il segreto Base32 del tuo account di prova in Secret key (Base32), oppure premi Random per un nuovo segreto di 32 caratteri.
- Adatta le impostazioni della tua app. Scegli il tipo di codice (TOTP basato sul tempo o HOTP basato su contatore), l'algoritmo e il numero di cifre. La maggior parte delle app di autenticazione utilizza TOTP, HMAC-SHA-1 e 6 cifre.
- Mostra il codice. Per il TOTP, premere "Avvia TOTP": il codice viene visualizzato con un conto alla rovescia e viene ricalcolato ogni secondo. Per l'HOTP, impostare il contatore e premere "Mostra codice HOTP"; "Avanti" passa al contatore successivo.
- Verifica un codice. Digita un codice proveniente dalla tua app o da un server nel campo "Verifica un codice" e premi "Verifica". Il risultato indica se il codice corrisponde e a quale intervallo di tempo o contatore si riferisce.
- Fermati e sgombera. Quando hai finito, premi “Stop”; l’ultimo codice rimane sullo schermo. Svuota tu stesso il campo segreto.
Esempio
Segreto di prova RFC 6238
GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ412568Questa è la chiave di test 12345678901234567890 pubblicata nella RFC 6238 in formato Base32. La pagina mostra il codice attuale a sei cifre e i secondi che mancano al prossimo; si tratta dello stesso codice che un'app di autenticazione mostra per questo segreto; passando alla modalità HOTP con contatore 0, viene visualizzato 755224, il primo valore di test RFC 4226.
Cosa verifica
| Segnale | Cosa significa |
|---|---|
| Il codice | HMAC del passo temporale (TOTP) o del contatore (HOTP), ridotto a 6 o 8 cifre come specificato nelle RFC 4226 e RFC 6238. La corrispondenza con un’app avviene solo se il tipo, l’algoritmo e il numero di cifre sono gli stessi. |
| Aggiornamenti in Ns · passo temporale N | I secondi rimanenti nell'intervallo di 30 secondi corrente e il numero della fase, ricavati dall'orologio del dispositivo. Se l'orologio è sfasato, viene visualizzato il codice precedente o successivo. |
| Contatore N · premi Avanti | In modalità HOTP, il codice appartiene a quel contatore. Ogni codice viene utilizzato una sola volta; i server attendono quindi il contatore successivo. |
| Non Base32: ... | Il codice segreto contiene caratteri diversi da quelli compresi tra A e Z e tra 2 e 7, come ad esempio 0, 1, 8 o 9. Gli spazi, i trattini e il segno = vengono ignorati, mentre le lettere minuscole sono ammesse. |
| il segreto è composto solo da N bit | La chiave segreta è più corta dei 128 bit (26 caratteri Base32) richiesti dalla RFC 4226. I codici vengono comunque visualizzati, ma una chiave segreta di questo tipo è più facile da indovinare. |
| Valido: corrisponde a ... | Verifica che nel campo sia presente il codice relativo al passo temporale corrente o al contatore HOTP. |
| Valido per il passaggio precedente o successivo | Il codice corrisponde a un intervallo di 30 secondi prima o dopo il momento attuale (evidenziato in giallo). Di solito si riscontra una leggera differenza di orario tra i due dispositivi. |
| Nessun risultato | Né gli intervalli di tempo controllati né i contatori corrispondono. Controlla il segreto, l'orologio, l'algoritmo e il numero di cifre. |
Altri esempi
Chiave di prova RFC 4226, HOTP
GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQCon tipo di codice HOTP, HMAC-SHA-1, 6 cifre e contatore 0, il codice è 755224; con contatore 1, il risultato è 287082, ovvero i valori di test pubblicati nella RFC 4226.
Verifica un codice del contatore successivo
GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQIn modalità HOTP con contatore 0, digitando 287082 nella sezione “Verifica un codice” si ottiene il messaggio: “Valido per contatore 1”, ovvero 1 in più rispetto al valore del contatore.
Non è un segreto in Base32
0189ERRORE con il messaggio "Non è Base32: '0', '1', '8', '9'", poiché Base32 utilizza solo le lettere da A a Z e le cifre da 2 a 7.
Domande frequenti
Cosa calcola esattamente?
Codici TOTP calcolati a partire dall'ora corrente con incrementi di 30 secondi (RFC 6238) o codici HOTP per un contatore impostato dall'utente (RFC 4226), con HMAC-SHA-1, SHA-256 o SHA-512 e 6 o 8 cifre; la maggior parte delle app di autenticazione utilizza SHA-1 e 6 cifre. Verifica che un codice corrisponda all’intervallo di tempo corrente e a un intervallo in più o in meno, oppure al contatore HOTP e ai 9 successivi; un codice segreto contenente caratteri diversi da A-Z e 2-7 viene rifiutato con un messaggio di errore.
Un codice TOTP mi protegge dal phishing?
Non del tutto. I kit di phishing adversary-in-the-middle passano il codice al sito reale mentre lo digiti, quindi viene catturato insieme alla password; le passkey e le chiavi di sicurezza FIDO2 resistono a questo attacco perché sono legate al dominio reale.
Il segreto viene inviato o salvato da qualche parte?
No. I codici vengono generati nel browser tramite l'API Web Crypto e il segreto non viene mai caricato né salvato. Il TOTP si basa sull'orologio del dispositivo, quindi un orologio non sincronizzato genera codici diversi.
Come posso verificare la corrispondenza dei codici con gli RFC?
Utilizzare la chiave di prova 12345678901234567890, in Base32 GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ. In modalità HOTP, il contatore 0 restituisce 755224 e il contatore 1 restituisce 287082 (RFC 4226). La RFC 6238 indica 94287082 per 8 cifre a 59 secondi dopo il 1° gennaio 1970 UTC; la modalità TOTP utilizza sempre l'ora corrente.
Qual è la differenza tra TOTP e HOTP?
L'HOTP (RFC 4226) conta gli utilizzi: ogni codice è associato a un contatore che aumenta di uno. Il TOTP (RFC 6238) è un HOTP in cui il contatore è impostato sull'intervallo di tempo corrente di 30 secondi, quindi il codice cambia con il passare del tempo.
Perché la mia app mostra un codice diverso?
Controlla prima gli orologi, perché una differenza di 30 secondi modifica il codice. Quindi verifica che il codice segreto non contenga errori di digitazione e controlla se l'account utilizza SHA-256, SHA-512, 8 cifre o un contatore al posto dell'ora, quindi imposta qui le stesse opzioni.
Devo incollare qui un vero segreto 2FA?
Evitalo. Il segreto resta nel tuo browser, ma chiunque lo veda o lo copi può generare i tuoi codici finché non reimposti la 2FA su quell'account. Per spostare la 2FA su un nuovo telefono, usa l'opzione di trasferimento o di reimpostazione dell'account stesso.