Generatore di chiavi casuali
Random Key Generator
Genera byte casuali crittografici in esadecimale, Base64 o Base64URL della lunghezza che scegli, per i segreti di un’applicazione.
Una `SECRET_KEY` o una chiave di firma per un JWT devono essere byte casuali di una lunghezza dichiarata in una codifica dichiarata, e le improvvisazioni abituali — una tastiera pestata a caso, un UUID, l’hash del nome del progetto — hanno tutte meno entropia di quanto sembri. Questo strumento produce i byte e li codifica.
Segreto casuale
bBLmZU2utGgo4nqqto46bmlxqDn9lcPsCflYh14thHICome JWK (oct)
{
"kty": "oct",
"k": "bBLmZU2utGgo4nqqto46bmlxqDn9lcPsCflYh14thHI",
"ext": true
}Chiave WebCrypto
Una CryptoKey vera, esportata come JWK: si usa così com’è con crypto.subtle.
Ogni byte viene da crypto.getRandomValues e resta in questa scheda. Niente viene generato su un server né inviato a un server.
Come si usa
Scegliere la lunghezza in byte
32 byte (256 bit) coprono quasi tutto: HMAC-SHA256, AES-256, chiavi di sessione. Per questi algoritmi più lunga non vuol dire più robusta: è l’algoritmo a definire la dimensione utile.
Scegliere la codifica che vuole la configurazione
L’esadecimale non è ambiguo ed è lungo il doppio. Il Base64URL evita `+`, `/` e `=`, che è quello che serve in un URL, in un’intestazione o in un file `.env` che qualcos’altro dovrà analizzare.
Metterla nell’archivio dei segreti, non nel repository
Una chiave finita una volta in un commit è una chiave da sostituire, per quanto in fretta il commit sia stato annullato. Se ne genera una diversa per ogni ambiente.
Domande frequenti
Da dove viene la casualità?
Da `crypto.getRandomValues`, il CSPRNG del browser, inizializzato dal sistema operativo. Non viene trasmesso nulla e non viene conservato nulla.
Una chiave generata in un browser vale quanto una da `openssl rand`?
La casualità è della stessa qualità: entrambe attingono dal sistema operativo. La differenza è dove la chiave viene mostrata: su uno schermo, forse in un browser che sincronizza, forse con un’estensione che osserva il DOM. Su una macchina che non si controlla, meglio la riga di comando.
Posso usarlo per un UUID?
Meglio usare il generatore di UUID: un UUIDv4 ha una disposizione fissa con sei bit spesi per versione e variante, quindi una stringa casuale grezza non ne è uno valido.
Può ricevere da
Generatore di UUID
UUID Generator
Genera UUID v1, v4, v5 e v7 in quantità, e ricava l’istante contenuto in un valore v1 o v7.
Generatore di ULID e NanoID
ULID & NanoID Generator
Genera ULID ordinabili o NanoID corti con l’alfabeto e la lunghezza che scegli, e mostra la probabilità di collisione.
Generatore di HMAC
HMAC Generator
Calcola un HMAC su un messaggio con l’hash e la codifica di chiave che scegli, per verificare la firma di un webhook.
Cifrare e decifrare un testo
Text Encrypt & Decrypt
Cifra un messaggio con AES-GCM a partire da una passphrase e produce un blocco Base64 che si basta da solo.
Dopo
Questi accettano ciò che produce questo strumento, così il risultato può passare direttamente.
Lettore e convertitore di file .env
.env Parser & Converter
Analizza un file .env e lo converte in JSON, YAML, export di shell o nei formati di Docker e Kubernetes.
Generatore di HMAC
HMAC Generator
Calcola un HMAC su un messaggio con l’hash e la codifica di chiave che scegli, per verificare la firma di un webhook.
Generatore di password
Password Generator
Genera password casuali con regole di lunghezza, insieme di caratteri ed esclusione dei caratteri ambigui, anche a blocchi.
Generatore di UUID
UUID Generator
Genera UUID v1, v4, v5 e v7 in quantità, e ricava l’istante contenuto in un valore v1 o v7.
Controllo di un link sospetto
Suspicious URL Check
Esamina la forma di un link prima che tu lo apra — caratteri sosia, host scritti come indirizzo IP, trucchi con la @, sottodomini profondi, porte insolite, servizi di accorciamento — e su richiesta ne segue i redirect e cerca la data di registrazione del dominio. Nessuna banca dati di reputazione.
Codificatore e decodificatore Base64
Base64 Encoder & Decoder
Codifica e decodifica in Base64 e Base64URL testo o file, trattando correttamente l’UTF-8.