Random API Key Generator - Free Secure 32-Char Keys
Generate cryptographically secure API keys instantly. Free online tool creates random 32-character alphanumeric keys for authentication. Client-side generation, no storage.
Generatore di Chiavi API
Documentazione
Un generatore casuale di chiavi API è uno strumento che crea una stringa casuale di lettere e numeri da usare come codice simile a una password tra due programmi informatici. Questo generatore funziona interamente nel browser web del visitatore. Consente di scegliere una lunghezza della chiave da 8 a 128 caratteri, con 32 caratteri impostati come valore predefinito.
Che cos'è una chiave API?
Una chiave API è una stringa di caratteri che un programma invia insieme a una richiesta per dimostrare di essere autorizzato a usare un servizio. Un server web verifica la chiave prima di rispondere alla richiesta. A differenza di un nome utente e di una password, una chiave API identifica di solito un'applicazione o uno script, non una persona.
Le chiavi funzionano meglio quando nessuno può indovinarle. Un generatore che usa una casualità reale evita gli schemi che compaiono nelle chiavi digitate da una persona, come caratteri ripetuti o parole brevi e facili da ricordare.
Come funziona questo generatore
Lo strumento costruisce ogni chiave a partire da un insieme fisso di 62 caratteri: le 26 lettere maiuscole A–Z, le 26 lettere minuscole a–z e le 10 cifre 0–9. Per una chiave di lunghezza n, sceglie n caratteri da quell'insieme, uno alla volta.
Ogni carattere proviene dall'API Web Crypto del browser, in particolare da crypto.getRandomValues(). Si tratta di un generatore di numeri casuali crittograficamente sicuro (CSPRNG), a differenza di Math.random() di JavaScript, che è prevedibile e inadatto a valori sensibili per la sicurezza.
Per scegliere un carattere in modo equo tra 62 possibilità a partire da un byte casuale (256 valori possibili), il generatore non può limitarsi a usare byte % 62. Poiché 256 non è divisibile esattamente per 62, un semplice modulo renderebbe leggermente più probabili i primi caratteri dell'insieme rispetto agli altri. Lo strumento evita questo problema con il campionamento per rifiuto: scarta ogni byte casuale che introdurrebbe questa distorsione e ne genera invece uno nuovo. Ogni carattere della chiave finale ha quindi la stessa probabilità, priva di distorsioni, di comparire in ciascuna posizione.
Come generare una chiave API
- Inserire una lunghezza della chiave compresa tra 8 e 128 caratteri oppure mantenere il valore predefinito di 32. Un numero al di fuori di questo intervallo viene segnalato e viene usata la lunghezza consentita più vicina.
- Fare clic su «Generate». La chiave appare in una casella di testo, creata interamente nel browser. Facendo clic sulla casella si seleziona l'intera chiave.
- Fare clic su «Copy» per copiare la chiave negli appunti. Alcuni browser chiedono l'autorizzazione la prima volta.
- Fare clic su «Regenerate» per produrre una nuova chiave della stessa lunghezza oppure su «Reset» per cancellare la chiave e tornare alla lunghezza predefinita di 32.
Sotto la chiave lo strumento mostra tre valori: la lunghezza della chiave in caratteri, la dimensione dell'insieme di caratteri (sempre 62) e l'entropia in bit.
Nessuna chiave viene inviata a un server, registrata o memorizzata. La generazione avviene con codice JavaScript locale, quindi il controllo dell'attività di rete del browser durante la generazione non mostra richieste in uscita.
Come calcolare il numero di chiavi possibili
Il numero di chiavi diverse che si possono produrre per una determinata lunghezza segue una formula semplice:
dove N è il numero di chiavi possibili, c la dimensione dell'insieme di caratteri e n la lunghezza della chiave.
La dimensione dell'insieme di caratteri è sempre 62 per questo strumento. Per la lunghezza predefinita di 32:
N = 62³² ≈ 2,27 × 10⁵⁷
Questo numero viene espresso anche come entropia, misurata in bit, usando la formula:
dove H è l'entropia in bit.
Per una chiave di 32 caratteri: 32 × log₂(62) ≈ 32 × 5,95 ≈ 190,5 bit.
Esempio svolto: tempo necessario per provare tutte le chiavi
Supponiamo che un attaccante possa testare un miliardo (10⁹) di chiavi al secondo, una velocità irrealisticamente elevata per qualsiasi sistema reale. Provare tutte le possibili chiavi di 32 caratteri richiederebbe:
2,27 × 10⁵⁷ ÷ 10⁹ = 2,27 × 10⁴⁸ secondi ≈ 7,2 × 10⁴⁰ anni
Per confronto, l'universo ha circa 1,4 × 10¹⁰ anni. Una ricerca a forza bruta attraverso tutte le chiavi possibili non rappresenta una minaccia pratica a questa lunghezza. Le chiavi più corte riducono rapidamente questo numero: una chiave di 8 caratteri ha solo 62⁸ ≈ 2,18 × 10¹⁴ valori possibili, che un computer veloce potrebbe esaminare in pochi giorni.
Perché le applicazioni usano le chiavi API
Le chiavi API offrono a un servizio un modo semplice per sapere quale applicazione sta effettuando una richiesta. Questo è utile per diversi motivi.
Autenticazione. Un server può rifiutare le richieste che arrivano senza una chiave valida, bloccando la maggior parte degli abusi occasionali.
Monitoraggio dell'utilizzo. Poiché ogni client può avere una chiave diversa, un servizio può misurare quanto viene usato ciascun client e applicare limiti di frequenza distinti per ogni chiave.
Revoca. Una singola chiave compromessa può essere disattivata senza influire sugli altri client, poiché ogni chiave è indipendente.
Le chiavi API sono più semplici da implementare rispetto a OAuth versione 2,0, uno standard di autenticazione basato su token temporanei rinnovati automaticamente. OAuth è adatto ai servizi rivolti al pubblico che gestiscono dati personali degli utenti. Le chiavi API sono comuni per strumenti interni, script e chiamate tra servizi, dove è accettabile una credenziale di lunga durata.
Pratiche di sicurezza per le chiavi API
Alcune pratiche riducono il rischio che una chiave venga divulgata:
- Non memorizzare le chiavi nel codice sorgente. La cronologia del controllo versione è difficile da cancellare e i repository pubblici vengono scansionati costantemente alla ricerca di credenziali esposte. È preferibile memorizzare le chiavi in variabili d'ambiente o in un gestore di segreti.
- Ruotare periodicamente le chiavi. Sostituire una chiave ogni pochi mesi limita il periodo durante il quale una chiave divulgata rimane utile a un attaccante.
- Concedere a una chiave il livello minimo di accesso necessario. Una chiave che consente solo di leggere i dati non dovrebbe poterli anche modificare o eliminare.
- Controllare le attività insolite, come un improvviso aumento delle richieste provenienti da una chiave.
Limitazioni
Questo strumento non conserva un registro delle chiavi generate, quindi non può garantire che una chiave non sia mai stata prodotta in precedenza. La probabilità che due chiavi casuali di 32 caratteri coincidano è di circa 1 su 2,27 × 10⁵⁷, una probabilità abbastanza vicina allo zero per l'uso ordinario; tuttavia, i sistemi che richiedono una garanzia assoluta di unicità, come le chiavi primarie dei database, dovrebbero verificare su un server i nuovi valori confrontandoli con quelli esistenti.
L'insieme di caratteri è fisso: lettere maiuscole, lettere minuscole e cifre. Non include simboli come ! o -, così le chiavi possono essere incollate nella maggior parte degli URL, delle intestazioni e dei file di configurazione senza dover effettuare l'escaping.
Domande frequenti
Che cos'è un generatore di chiavi API?
È uno strumento che produce stringhe casuali da usare come credenziali di autenticazione tra applicazioni software. Questo generatore crea chiavi da 8 a 128 caratteri, scelti tra 62 caratteri possibili, usando il generatore di numeri casuali crittograficamente sicuro del browser.
Una chiave generata da questo strumento è abbastanza sicura per l'uso in produzione?
La casualità in sé è crittograficamente sicura. La sicurezza complessiva dipende anche dal modo in cui la chiave viene memorizzata e trasmessa in seguito: non inserirla mai nel controllo del codice sorgente, inviarla sempre tramite HTTPS e ruotarla secondo una pianificazione regolare.
Quale lunghezza dovrei scegliere?
Il valore predefinito di 32 caratteri offre circa 2,27 × 10⁵⁷ combinazioni possibili, molte più di quante ne potrebbe esaminare qualsiasi tentativo realistico a forza bruta. Chiavi più corte, come quelle di 16 caratteri, possono essere adatte a strumenti interni a basso rischio. Chiavi molto lunghe aggiungono poca protezione, ma sono più difficili da memorizzare e incollare.
Posso impostare una lunghezza personalizzata?
Sì. Il campo della lunghezza accetta qualsiasi numero intero compreso tra 8 e 128. L'insieme di caratteri (A–Z, a–z, 0–9) rimane fisso.
Lo strumento memorizza o trasmette le chiavi che genera?
No. Ogni chiave viene generata con JavaScript locale nel browser. Nulla viene inviato a un server, registrato o salvato.
Qual è la differenza tra una chiave API e un token OAuth?
Una chiave API è una credenziale di lunga durata che rimane valida finché qualcuno non la revoca. Un token OAuth scade automaticamente dopo un periodo prestabilito e può essere rinnovato senza l'intervento diretto dell'utente. OAuth è adatto ai servizi pubblici che gestiscono dati personali; le chiavi API sono adatte a usi più semplici, interni o di sviluppo.
Quali browser supporta questo strumento?
Qualsiasi browser che fornisca l'API Web Crypto, cioè tutte le versioni di Chrome, Firefox, Safari, Edge e Opera rilasciate nell'ultimo decennio. Se questa API non è disponibile, lo strumento mostra un messaggio di errore. Non ricorre mai a Math.random(), che non è sicuro.