Generatore di chiavi API

Una stringa casuale non è una credenziale emessa da un altro servizio.

Genera e registra nella tua applicazione

Una stringa casuale non è una credenziale emessa da un altro servizio.

Passaggio 1

Scegli la rappresentazione

Rispetta il formato richiesto. I prefissi fissi non aggiungono casualità.

Passaggio 2

Genera in privato

Copia solo verso destinazioni affidabili. Cancellare o cambiare impostazioni annulla i risultati in attesa.

Passaggio 3

Esporta e revoca

Conserva il segreto e pulisci lo schermo. Revoca le chiavi attive nell’applicazione ricevente.

Usi pratici

Segreto per webhook

Usa 256 bit esadecimali se il tuo verificatore accetta il formato.

Token server

Base64URL con ID pubblico separato facilita la ricerca; l’ID non autentica.

Lotto di sviluppo

Dieci token per test locali. JSON conserva valori esatti.

Lotto di tre token di esempio appena generati
Tre nuovi token illustrano la generazione in lotto e la copia. Questi valori di esempio non sono registrati e non danno accesso alle API di alcun fornitore.

Un identificatore non è una credenziale

L’ID facoltativo è un valore esadecimale casuale separato di 96 bit. Trova un record, ma non è un UUID e non aumenta i bit del segreto.

Gli UUID includono versione e variante; alcuni organizzano dati temporali. Anche un UUID casuale non soddisfa automaticamente un protocollo di autenticazione.

Separa identificatore, permessi e segreto. Controlla l’unicità sul server e sostituisci i segreti esposti. La norma affronta questa distinzione di sicurezza. Sicurezza UUID nel RFC 9562.

Byte e rappresentazione sono diversi

  1. 32 × 8 = 256Quantità di byte
  2. 64 HEX / 43 Base64URLCodifiche equivalenti
  3. N × log₂(A)Calcolo dell’alfabeto
Esempio di calcolo, non un segreto. Prefissi e ID non aumentano l’entropia.

La lunghezza non prova la casualità

32 byte casuali danno 256 bit nominali: 64 caratteri esadecimali o 43 Base64URL senza padding. La rappresentazione più lunga non è più forte.

N scelte uniformi tra A simboli danno teoricamente N × log₂(A) bit. Il campionamento con rifiuto evita la distorsione del modulo, senza certificare la fonte.

crypto.getRandomValues è obbligatorio; Math.random non è mai un sostituto. Una bella distribuzione non valida il browser. NIST descrive generatori, senza certificare questa pagina. NIST SP 800-90A Rev. 1.

Metodo e limiti

Casualità crittografica obbligatoria e campionamento con rifiuto per gli alfabeti. I duplicati vengono controllati solo nel lotto attuale. Cancellare o uscire invalida le attività in attesa; nessun lotto parziale viene pubblicato.

Non si creano accessi o permessi di servizi esterni. Le chiavi non entrano nei link o nelle preferenze. Appunti e file in chiaro restano fuori dal controllo della pagina.

Segnala formato, dimensione ed esempio inventato, mai un segreto reale. Un difetto confermato può richiedere la sostituzione di chiavi già registrate.

Metodo e limiti · Politica di correzione

Domande frequenti

L’ID rafforza il segreto?

No. È un identificatore pubblico di ricerca.

Posso annullare un lotto in attesa?

Sì. Cancella i risultati o esci prima della pubblicazione.

È certificato NIST?

No. Le fonti spiegano concetti, senza certificare il sito.

Pensato per l’uso concreto dei segreti

La procedura semplice resta rapida: scegli, genera e copia. Per esigenze specifiche hai codifiche di byte, alfabeti, etichette applicative, ID pubblici distinti e gruppi fino a 1.000 chiavi.

Non servono account o installazione. Le spiegazioni aiutano a scegliere consapevolmente, senza presumere che una stringa visivamente più lunga sia sempre più robusta.

Formati adatti alla tua applicazione

Base64URL evita il più e la barra di Base64 normale e omette il padding. L’esadecimale è facile da controllare e ampiamente supportato, ma richiede più caratteri per gli stessi byte.

Base32 usa A–Z e 2–7, qui senza padding. Base64 normale conserva il padding standard.

Verifica sempre i requisiti dell’applicazione destinataria: codificare non significa cifrare.

Supponi che l’applicazione accetti al massimo 48 caratteri, incluso un prefisso dev_. A 256 bit, Base64URL contribuisce 43 caratteri casuali, quindi il prefisso di quattro caratteri porta il totale a 47. Hex contribuisce 64 caratteri casuali e arriverebbe a 68, quindi non entra. Un suffisso consuma lo stesso limite. La lunghezza casuale e la lunghezza totale mostrate dallo strumento rispondono a domande diverse: la prima descrive il materiale segreto, la seconda indica cosa deve contenere il campo destinatario. RFC 4648 spiega perché rappresentazioni degli stessi byte hanno lunghezze diverse. Prima di scegliere il formato più corto, controlla anche l’alfabeto accettato dal destinatario, non solo il limite.

Alfabeti personalizzati senza indicazioni fuorvianti

Scegli lettere, cifre, un insieme definito di simboli o il tuo alfabeto ASCII stampabile. I caratteri duplicati vengono rimossi per non aumentarne la probabilità.

L’esclusione dei caratteri simili elimina 0, O, 1, I, l e |. Un obiettivo in bit determina la lunghezza necessaria; un numero esatto di caratteri rispetta i limiti dei campi.

Un alfabeto più piccolo richiede più caratteri per la stessa entropia teorica.

Per un alfabeto personalizzato, stampabile qui significa ASCII senza spazi: lettere accentate, emoji, tabulazioni e spazi vengono respinti. Dopo la deduplicazione e l’eventuale rimozione dei caratteri simili devono restare almeno due scelte distinte. Se l’alfabeto diventa non valido, modificalo deliberatamente invece di aspettarti che lo strumento ne sostituisca un altro. Prefissi e suffissi seguono una regola diversa: ciascuno può contenere fino a 32 lettere ASCII, cifre o i simboli _ . : -. Una stringa accettata come alfabeto non è necessariamente accettata come etichetta.

Il numero esatto di caratteri si applica agli alfabeti di caratteri, non ai formati di codifica dei byte. Un limite fisso del campo non significa automaticamente una quantità fissa di casualità. Per esempio, 32 caratteri esadecimali scelti uniformemente hanno 128 bit teorici, mentre 32 scelte da un alfabeto di 64 caratteri distinti ne hanno 192. Se il campo è troppo corto per la dimensione richiesta dall’applicazione, non troncare un valore già generato né contare la sua etichetta come caratteri casuali. Scegli una rappresentazione compatibile e controlla il calcolo risultante prima di generare; se nessuna combinazione consentita entra, il requisito dell’applicazione va chiarito.

Punti di partenza, non credenziali di fornitori

Token API parte da Base64URL a 256 bit. Segreto webhook usa esadecimale a 256 bit per un tuo sistema di verifica con segreto condiviso.

Segreto applicativo usa Base64URL a 512 bit; Gruppo per sviluppo prepara dieci token da 256 bit. Sono scorciatoie di configurazione, non standard universali o chiavi rilasciate da fornitori.

Prefissi e suffissi identificano applicazione o ambiente. La dicitura live_ non attiva nulla e non concede permessi.

Da una chiave all’esportazione ordinata

Copia singoli segreti o l’intero gruppo. Le coppie facoltative aggiungono un ID pubblico casuale di 96 bit per individuare il record: tieni privato il segreto e non usare l’ID per autenticare.

JSON conserva i valori esatti. TXT supporta righe, virgole o spazi.

CSV protegge le celle e neutralizza gli inizi di formula, talvolta aggiungendo un apostrofo. .env verifica i nomi delle variabili e rifiuta virgolette incompatibili. È per Node dotenv, non per script shell.

I download contengono segreti in chiaro, non backup cifrati.

Nascondere i risultati è utile quando lo schermo è visibile ad altre persone, ma i 24 punti della maschera sono una convenzione di visualizzazione, non la lunghezza del segreto. Copia ed esportazione contengono comunque i valori reali. Cambiare le impostazioni di generazione cancella il gruppo mostrato, incluso il cambio di formato: prepara una nuova generazione invece di convertire il vecchio segreto in un’altra codifica. Trasferisci in modo sicuro il gruppo che ti serve prima di modificare quelle impostazioni. Nella finestra di esportazione, cambiare formato file o separatore TXT riformatta soltanto lo stesso gruppo.

Vengono mostrati solo 20 risultati per pagina, ma Copia tutto ed esportazione usano l’intero gruppo. Con le coppie ID abilitate, un singolo pulsante Copia copia solo il segreto. JSON senza coppie è un array di stringhe; con le coppie è un array di oggetti con campi key_id e api_key. Verifica che il codice di importazione si aspetti questa struttura invece di trattare l’ID pubblico come un secondo segreto o presumere che la prima pagina visibile sia tutto il download. Mantieni associati l’ID scelto e il segreto quando registri i record delle credenziali.

Scegli JSON quando un sistema deve ricevere i caratteri esatti del segreto. CSV è preparato per la visualizzazione nei fogli di calcolo: un valore che sembra iniziare con una formula, come -example, può ricevere un apostrofo iniziale, quindi un parser CSV generico potrebbe leggere un valore letterale diverso. L’esempio è inventato, non è una chiave utilizzabile. Non rimuovere gli apostrofi da ogni chiave importata: un apostrofo può anche essere un vero carattere dell’alfabeto. La guida OWASP sulle CSV injection spiega sia l’interpretazione delle formule sia i limiti dell’escaping nei fogli di calcolo. Salvare di nuovo un CSV in un programma di fogli di calcolo non è una garanzia universale di sicurezza ed è un passaggio inutile per un segreto di produzione.

Per .env, un nome come APP_TOKEN è valido; 1TOKEN o APP-TOKEN non lo sono. Lo strumento limita il nome a 64 caratteri e respinge valori contenenti virgolette doppie o barre inverse, invece di indovinare come li interpreterà un altro loader. Node.js documenta la propria sintassi dotenv; gli altri programmi che leggeranno il file richiedono una verifica di compatibilità specifica. Se l’esportazione respinge un valore da alfabeto personalizzato, usa JSON o un trasferimento controllato adatto a quell’applicazione. Rinominare il file scaricato non rimuove i caratteri incompatibili, e un file .env con segreti richiede comunque archiviazione protetta.

Come calcoliamo bit, byte e caratteri

Per i formati di byte generiamo ceil(bit desiderati / 8) byte casuali e riportiamo byte × 8 bit nominali. Con N caratteri indipendenti e uniformi scelti tra A caratteri distinti, l’entropia teorica è N × log₂(A).

Per un obiettivo servono quindi ceil(bit desiderati / log₂(A)) caratteri. Ad esempio, 256 bit con sole cifre richiedono 78 cifre, non 32.

Prefissi, suffissi e ID pubblico separato non contribuiscono all’entropia del segreto. Il calcolo descrive il progetto del generatore, senza misurare o certificare la fonte casuale del browser.

Un valore casuale, rappresentazioni diverse

32 bytes × 8 = 256 bits

CodificaCaratteri da 32 byte
Hex64
Base64URL43
Base6444
Base3252

Le lunghezze non includono prefissi o suffissi. La codifica cambia la rappresentazione, non la casualità sottostante.

La nostra metodologia di generazione

Usiamo crypto.getRandomValues in un contesto sicuro. Non ripieghiamo su Math.random, orari, attività della tastiera o semi prevedibili.

Le codifiche di byte sono senza perdita. Per gli alfabeti usiamo campionamento per rifiuto: i valori del resto non uniforme vengono scartati prima della mappatura.

Questo evita il bias di un semplice modulo quando la dimensione dell’alfabeto non divide 256. Ogni gruppo è controllato per segreti e ID ripetuti.

I tentativi sono limitati e un errore non rilascia risultati parziali.

Cosa rimane nel browser

Generazione e preparazione dei file avvengono localmente. ClockTools non invia i valori ai server né li inserisce in URL, analisi o archiviazione persistente.

Anche arrivando da un altro strumento, la pagina apre un documento nuovo senza i nostri caricatori di analisi e registrazione delle sessioni. Le impostazioni salvate e condivise escludono campi liberi e chiavi.

Il fornitore di hosting riceve comunque le normali richieste della pagina. Copiare trasferisce il valore negli appunti; scaricare crea un file in chiaro.

Estensioni, appunti sincronizzati, malware e persone davanti allo schermo restano rischi. Cancellare rimuove i risultati dall’interfaccia, senza garantire la cancellazione sicura dalla memoria o delle copie esterne.

Usare una chiave in sicurezza

Una stringa casuale diventa credenziale API quando la tua applicazione la registra e verifica. Configura privilegi minimi, HTTPS, revoca, scadenza e rotazione nell’applicazione.

Non inserire segreti server nel frontend o in repository. Per la produzione usa una gestione dei segreti adeguata.

In ambienti sensibili, preferisci la generazione nella tua infrastruttura fidata. Gli esempi Node.js, Python e OpenSSL generano nuovi segreti locali senza copiare valori da un sito.

Nessun sito garantisce che browser e dispositivo non siano compromessi.

Cosa verifichiamo e cosa non dimostrano i test

I test di regressione coprono lunghezze, vettori di codifica noti, alfabeti, campionamento per rifiuto, entropia, affissi, duplicati, esportazioni e serializzazione sicura delle impostazioni. Questi test automatici non dimostrano l’affidabilità in tutti i browser e su tutti i dispositivi, né verificano il comportamento degli appunti di sistema, il salvataggio dei file o l’analisi dell’utilizzo sul sito pubblicato.

Nessun duplicato o una distribuzione visivamente uniforme non dimostrano casualità crittografica. Lo strumento non è certificato indipendentemente e i test del nostro codice non sono un audit dell’intera applicazione.

Segnala problemi senza rivelare segreti

Indica formato, modalità di lunghezza, bit o caratteri, quantità, browser e passaggi riproducibili. Usa esempi inventati, mai chiavi attive, segreti webhook o dati dei clienti.

Seguiamo la nostra politica delle correzioni. Un difetto importante confermato deve essere spiegato, accompagnato da un test di regressione e da indicazioni sull’eventuale rigenerazione delle vecchie chiavi.

Modificare questa pagina non revoca chiavi registrate altrove: devi sostituirle o revocarle in quei sistemi.

Genera sul tuo computer

Gli esempi creano un nuovo segreto con formato e affissi selezionati. Non incorporano mai la chiave visualizzata né creano account, permessi o regole di scadenza. Non includono ID pubblici o generazione in blocco.

import { randomBytes } from 'node:crypto';
const key = "" + randomBytes(32).toString('base64url') + "";

Domande frequenti

Genera una chiave valida per un’API di terzi?

No. Richiedila al fornitore. ClockTools crea stringhe casuali per applicazioni che controlli, non account, crediti o diritti di accesso di altri servizi.

Scegliere 512 bit rende ogni integrazione più sicura?

Non automaticamente. L’impostazione generale è un segreto casuale a 256 bit, ma formato e dimensione dipendono da protocollo e applicazione. Una buona casualità non risolve fughe di chiavi, autorizzazioni mancanti o archiviazione insicura.

Perché 32 caratteri casuali non equivalgono sempre a 256 bit?

Conta l’alfabeto. 32 caratteri esadecimali uniformi rappresentano 128 bit; 32 cifre decimali circa 106,3 bit. 32 byte casuali rappresentano 256 bit nominali, cioè 64 caratteri esadecimali o 43 Base64URL senza padding.

Tutte le chiavi sono garantite uniche?

Non esiste qui una garanzia mondiale. Rileviamo duplicati nel gruppo corrente. Con abbastanza bit casuali le collisioni sono molto improbabili, ma il sistema destinatario deve comunque imporre record di credenziali unici.

Posso condividere impostazioni senza condividere un segreto?

Sì. Il link include solo valori predefiniti di formato, dimensione, quantità e opzioni. Esclude chiavi, prefissi, suffissi e alfabeti personalizzati. Un alfabeto personalizzato viene sostituito da Base64URL nelle impostazioni salvate o condivise.

Cancellare i risultati revoca una chiave?

No. Rimuove solo il gruppo visualizzato. Revoca o sostituisci la chiave nell’applicazione che la accetta. Cronologia degli appunti, download e copie già esposte sono fuori dal controllo di questo strumento.

Fonti e strumenti correlati

Metodologia e limiti: Web Crypto · RFC 4648

Generatore di GUID · Metodologia e limiti · Politica delle correzioni