Generatore di token e chiavi API
Token crittograficamente sicuri tramite la Web Crypto API. UUID, hex, token Base64 al portatore o chiavi API con prefisso.
Un identificatore RFC 4122 v4 da 128 bit, di cui 122 casuali. La scelta predefinita per chiavi primarie di database, ID di richiesta e token di correlazione.
122 bit di entropia · generato nel tuo browser, mai inviato a un server
Perché non Math.random()?
Math.random() è un generatore di numeri pseudocasuali — il suo output è prevedibile e inadatto ai token di sicurezza. Questo strumento utilizza crypto.getRandomValues(), la stessa API che alimenta la generazione di chiavi TLS e SSH.
Tipi di token spiegati
UUID v4 è lo standard per gli ID database e i token di correlazione. Le stringhe hex funzionano bene per i token di sessione e i nonce. Base64 è compatto per i token API. Le chiavi API con prefissi (come sk_ o vlt_) rendono facile identificare e ruotare le credenziali compromesse.
Quanto deve essere lungo un token?
128 bit di entropia sono la soglia minima per qualsiasi cosa protegga un accesso, ed è ciò che il NIST SP 800-63B si aspetta da un segreto generato casualmente. Corrispondono a 32 caratteri hex, 22 caratteri Base64 o un UUID v4. Andare oltre i 256 bit non aggiunge nulla contro il brute force - costa solo volume di log e dimensione degli header. La lunghezza conta più dell'alfabeto: un token hex di 32 caratteri e uno Base64 di 22 sono ugualmente difficili da indovinare.
Token al portatore, access token e chiavi API
Questi nomi descrivono come si usa una credenziale, non come viene generata. Un token al portatore concede accesso per il solo fatto di essere presentato, ed è per questo che l'header HTTP Authorization lo trasporta letteralmente. Un access token è un token al portatore di breve durata, di solito emesso da un flusso OAuth. Una chiave API è un token al portatore di lunga durata emesso per un servizio anziché per una persona. Al momento della generazione i tre sono la stessa cosa: una stringa casuale opaca ad alta entropia. Usa hex o Base64 per i primi due e la modalità chiave API quando vuoi un prefisso rilevabile.
Perché mettere un prefisso alle chiavi API?
GitHub, Stripe, OpenAI e Slack mettono un prefisso alle proprie chiavi (ghp_, sk_live_, xoxb_) per un motivo preciso: così gli scanner di segreti riconoscono una chiave compromessa dalla sola stringa, senza alcun contesto attorno. Se pubblichi una chiave con prefisso in un repository pubblico, l'emittente può revocarla in pochi minuti. Una semplice stringa hex di 32 caratteri sembra un hash di commit, quindi nessuno la intercetta. I prefissi rendono inoltre evidente l'ambiente a colpo d'occhio: la difesa più economica contro l'incollare una chiave di produzione in una configurazione di staging.
Domande frequenti
Questi token sono davvero casuali?
Sì. Ogni token proviene da crypto.getRandomValues(), il generatore di numeri casuali crittograficamente sicuro del browser, alimentato dal pool di entropia del sistema operativo. È la stessa primitiva che genera le chiavi di sessione TLS. Math.random(), che molti generatori online usano ancora, è un generatore pseudocasuale prevedibile e non deve mai produrre un token di sicurezza.
Il mio token viene inviato al vostro server?
No. La generazione avviene interamente nel tuo browser tramite la Web Crypto API. Apri la scheda di rete e genera un token: non parte alcuna richiesta. Nulla viene registrato, memorizzato o trasmesso. Se poi scegli di condividere il token, viene cifrato nel tuo browser prima che qualsiasi cosa lasci la pagina.
Che lunghezza devo usare per una chiave API?
128 bit di entropia, esattamente ciò che produce la modalità chiave API di questo strumento: il tuo prefisso più 32 caratteri esadecimali. In pratica è impossibile da indovinare e corrisponde a quanto emettono Stripe, GitHub e AWS. Vai oltre solo se un requisito di conformità specifico lo richiede.
Che differenza c'è tra un UUID v4 e un token hex casuale?
Un UUID v4 è un token casuale con forma fissa: 36 caratteri, quattro trattini e sei bit riservati a versione e variante, che lasciano 122 bit casuali. Usalo quando qualcos'altro si aspetta quella forma, come una colonna uuid di database. Usa hex o Base64 semplici quando ti serve solo un segreto e il formato lo scegli tu - è più corto a parità di robustezza.
Posso generare più token in una volta?
Sì. Imposta la quantità a 5, 10 o 25 e ogni token viene generato in modo indipendente. Copia tutto li copia uno per riga, il formato che la maggior parte degli script di seed, dei file .env e dei password manager accetta per l'importazione in blocco.
Come invio un token a un collega in modo sicuro?
Non su Slack, non via email, non in un ticket - questi conservano una copia a tempo indefinito, quindi chiunque ottenga in seguito accesso al canale ottiene accesso alla credenziale. Usa Condividi in modo sicuro per mettere il token dietro un link cifrato e autodistruttivo: viene cifrato nel tuo browser, la chiave viaggia nel frammento dell'URL e non raggiunge mai il nostro server, e il segreto viene distrutto una volta letto o alla scadenza.
Devi condividere un token in modo sicuro?
Non incollare i token su Slack o nelle email. Invialo tramite un link cifrato e autodistruttivo che solo il destinatario può aprire.