Derivazione di chiavi PBKDF2 e HKDF
Deriva una chiave da una password o da un segreto con PBKDF2 o HKDF, scegliendo il sale, il numero di iterazioni o l’etichetta info, l’hash e la lunghezza di output, e leggila in esadecimale o base64, interamente nel tuo browser.
Derivazione di chiavi PBKDF2 e HKDF — Allunga una password in una chiave PBKDF2, oppure espandi un segreto ad alta entropia in sottochiavi con nome tramite HKDF, senza che nulla esca dal tuo dispositivo. Scegli l’hash, imposta il sale e il numero di iterazioni (PBKDF2) o l’etichetta info (HKDF), indica quanti bit di output ti servono e copia la chiave derivata in esadecimale o base64. Ogni byte viene calcolato localmente con la Web Crypto API nativa (crypto.subtle.deriveBits), così la tua password e il tuo segreto non toccano mai un server.
Cos'è Derivazione di chiavi PBKDF2 e HKDF?
La Derivazione di chiavi PBKDF2 e HKDF è uno strumento gratuito nel browser che esegue le due funzioni di derivazione di chiavi più usate dagli sviluppatori. PBKDF2 (Password-Based Key Derivation Function 2) rallenta di proposito la forza bruta ripetendo un HMAC molte migliaia di volte, trasformando una password umana più un sale in una chiave di lunghezza fissa. HKDF (HMAC-based Key Derivation Function) prende un segreto che ha già abbastanza entropia e lo espande in una o più sottochiavi legate a un contesto usando un’etichetta info, ideale per derivare chiavi di cifratura e di autenticazione separate da un unico segreto master. Ingegneri backend, revisori di sicurezza e chiunque scriva codice di login o cifratura la usano per testare vettori, riprodurre la derivazione di un server o generare chiavi per un’attività occasionale. Usa l’interruttore PBKDF2/HKDF per cambiare algoritmo, scegli SHA-256, SHA-384, SHA-512 o SHA-1, imposta la lunghezza di output in bit e leggi il risultato in esadecimale o base64.
Come usare Derivazione di chiavi PBKDF2 e HKDF
- Scegli PBKDF2 o HKDF con l’interruttore in alto, in base alla funzione usata dal tuo codice o dal tuo vettore di test.
- Digita o incolla la tua password (PBKDF2) o il tuo segreto ad alta entropia (HKDF) nel campo Segreto, poi inserisci un sale.
- Per PBKDF2 imposta il numero di iterazioni; per HKDF imposta l’etichetta info facoltativa che lega la chiave a un contesto.
- Scegli l’hash (SHA-256, SHA-384, SHA-512 o SHA-1) e la lunghezza di output in bit.
- Sposta l’interruttore esadecimale / base64 sulla codifica che ti serve e copia la chiave derivata con il pulsante di copia.
Esempi
PBKDF2 — chiave da 256 bit da una password
Input
Segreto: correct horse battery staple Sale: a1b2c3d4 Hash: SHA-256, Iterazioni: 100000, Bit: 256
Output
una stringa esadecimale di 64 caratteri (32 byte) riproducibile con la stessa password, sale, hash e numero di iterazioni
HKDF — sottochiave legata al contesto da un segreto master
Input
Segreto: 9f8e7d6c…(chiave master) Sale: session-2024 Info: aes-gcm-encryption Hash: SHA-256, Bit: 256
Output
una chiave da 256 bit diversa da quella ottenuta con lo stesso segreto e Info: hmac-authentication, così un master produce sottochiavi indipendenti
Output più corto in base64
Input
Bit: 128, codifica passata a base64
Output
una stringa base64 di 24 caratteri che codifica i primi 16 byte derivati
Domande frequenti
- La mia password o il mio segreto vengono inviati da qualche parte?
- No. Il Segreto, il sale e l’info restano nel tuo browser. La chiave viene derivata localmente con la Web Crypto API (crypto.subtle.deriveBits) e nulla viene caricato o memorizzato su alcun server, quindi lo strumento funziona offline e i tuoi dati non lasciano mai la pagina.
- Quando usare PBKDF2 rispetto a HKDF?
- Usa PBKDF2 per derivare una chiave da una password umana a bassa entropia: il suo numero di iterazioni rallenta la forza bruta. Usa HKDF quando hai già un segreto ad alta entropia (una chiave master o un segreto condiviso) e vuoi espanderlo in una o più sottochiavi separate tramite l’etichetta info. HKDF è veloce e non sostituisce lo stretching della password di PBKDF2.
- Perché la mia lunghezza di output viene arrotondata?
- Il deriveBits di Web Crypto lavora in byte interi, quindi la lunghezza di output in bit viene arrotondata al multiplo di 8 più vicino. La statistica sotto il risultato mostra i bit e i byte effettivamente prodotti.
- Quali hash e algoritmi sono supportati?
- Entrambi gli algoritmi funzionano con SHA-256, SHA-384, SHA-512 o SHA-1, gli hash che la Web Crypto del browser espone per PBKDF2 e HKDF. Scrypt, Argon2 e bcrypt non sono offerti perché i browser non li implementano in modo nativo.
- Gli stessi input danno sempre la stessa chiave?
- Sì. La derivazione di chiavi è deterministica: lo stesso algoritmo, segreto, sale, hash, lunghezza di output e numero di iterazioni (PBKDF2) o info (HKDF) producono sempre gli stessi byte, ed è per questo che puoi usarla per riprodurre o verificare una chiave derivata dal tuo server.
Strumenti correlati
Crittografia di testo AES (AES-GCM + PBKDF2)
Cifra e decifra testo con AES-256-GCM usando una chiave derivata da una passphrase (PBKDF2 SHA-256, sale casuale), interamente nel tuo browser e senza alcun caricamento.
Hash Argon2 e scrypt
Esegui l'hash di una password con Argon2id o scrypt e verifica un hash Argon2 rispetto a una password, interamente nel tuo browser.
Generatore e Verificatore di Hash Bcrypt
Genera un hash di password bcrypt da testo in chiaro con il fattore di costo che scegli, oppure verifica una password rispetto a un hash bcrypt esistente, interamente nel tuo browser.
Generatore di mnemonica BIP39
Genera una frase di recupero BIP39 casuale da 12 a 24 parole in diverse lingue, oppure riconverti una mnemonica esistente nella sua entropia grezza, tutto nel tuo browser.