Hash/Crittografia

TOTP Generator/Verifier

Password monouso basate sul tempo (TOTP, RFC 6238) — genera il codice attuale da un segreto e verifica un codice inserito con tolleranza allo sfasamento dell'orologio.

------


                    

TOTP (Time-based One-Time Password, RFC 6238) is a two-factor authentication algorithm that generates a one-time code from a secret and the current time. It's exactly what runs under the hood in Google Authenticator, Authy, and similar apps.

How to use it

Common uses

Things to keep in mind

A TOTP code is only valid for a short window (usually 30 seconds) — that time limit is the main protection, not the secret alone.

Code accuracy depends directly on the device's clock being synced; a noticeable clock drift is the most common cause of rejected 2FA codes.

Articolo su questo strumento: TOTP: come funzionano i codici monouso nelle app di autenticazione

Domande frequenti

Perché il mio codice generato scade così velocemente?

I codici TOTP sono basati sul tempo — per impostazione predefinita ruotano ogni 30 secondi, calcolati dall'orario Unix corrente e dal segreto condiviso. Questa breve finestra limita per quanto tempo un codice trapelato rimane utile.

Cosa succede se l'orologio del mio dispositivo non è sincronizzato?

TOTP si basa sul fatto che entrambe le parti concordino approssimativamente sull'ora corrente. La maggior parte delle app di autenticazione e dei server consente una piccola tolleranza di sfasamento dell'orologio (tipicamente un intervallo di tempo), ma uno sfasamento maggiore causerà il rifiuto di codici validi.

La mia chiave segreta viene inviata da qualche parte quando genero un codice qui?

No. Il codice TOTP viene calcolato interamente nel tuo browser — la chiave segreta non lascia mai il tuo dispositivo.

TOTP protegge dal phishing?

Non completamente. Se la vittima inserisce la password e il codice TOTP corrente su un sito falso, l'attaccante può usare istantaneamente entrambi i valori sul sito vero, mentre il codice è ancora valido. Da questo attacco in tempo reale proteggono solo le chiavi hardware secondo lo standard FIDO2/WebAuthn.

Perché il server accetta anche l'intervallo di tempo precedente e non solo quello attuale?

Questo compensa un piccolo ritardo di rete tra la generazione del codice sul telefono e il momento in cui il server lo riceve e lo verifica. Senza questa tolleranza, i codici legittimi verrebbero talvolta rifiutati per un normale ritardo di pochi secondi.

Articoli: Hash/Crittografia

Hash Generator: in cosa differiscono MD5, SHA-1 e SHA-256

Perché MD5 viene ancora usato per verificare l'integrità dei file, ma non per le password.

Checksum Verifier: come verificare che un file non sia danneggiato

Perché un checksum corrispondente conferma l'integrità di un file, ma non chi lo ha creato.

HMAC: in cosa differisce un hash con chiave da un hash normale

Perché un semplice SHA-256 non protegge dalla manomissione di un messaggio, ma HMAC sì.

Bcrypt: perché le password vengono hashate lentamente, non velocemente

Perché un SHA-256 veloce è una cattiva scelta per le password, e un bcrypt lento è quella giusta.

UUID: come vengono generati identificatori che quasi non si ripetono mai

Perché un UUID v4 può essere generato in modo indipendente su milioni di macchine senza rischio di collisione.

Generatore di password: cosa rende davvero forte una password

Perché una password lunga fatta di parole del dizionario è più forte di una corta con simboli e numeri.

AES: come funziona la crittografia simmetrica

Perché la stessa chiave cifra e decifra i dati in AES, e come questo differisce dalla crittografia asimmetrica.

Argon2: perché questo algoritmo ha vinto il concorso sull'hashing delle password

Come Argon2 si difende meglio dagli attacchi con GPU rispetto agli algoritmi di hashing password più vecchi.

Scrypt: perché l'algoritmo ha bisogno di così tanta memoria

Perché scrypt richiede deliberatamente molta memoria per rendere più difficile il cracking su dispositivi ASIC.

PBKDF2: lo standard più vecchio per lo stretching delle chiavi

Perché il numero di iterazioni raccomandato per PBKDF2 cresce ogni anno.

X.509: cosa c'è dentro un certificato SSL

Cosa controlla esattamente il browser nel certificato di un sito prima di mostrare il lucchetto verde.

PGP: come funziona la crittografia a chiave pubblica e privata

Perché si può condividere liberamente una chiave pubblica PGP, ma mai quella privata.