Come si usa
- Incolla la stringa Base64 nel campo di input. Base64 è già selezionato come origine ed Esadecimale come destinazione.
- Leggi l’output esadecimale: due cifre esadecimali per ogni byte.
- Se ti serve un formato diverso, scegli un’altra codifica di destinazione, come Base58 o Base32, oppure premi Scambia input e output per riconvertire l’esadecimale in Base64.
- Copia il risultato.
Due modi di scrivere gli stessi byte
L’esadecimale e il Base64 rappresentano entrambi dati binari sotto forma di testo. L’esadecimale usa due caratteri per ogni byte, quindi i singoli valori dei byte sono facili da leggere e confrontare. Il Base64 racchiude 3 byte in 4 caratteri ed è circa un terzo più corto. Passare dall’uno all’altro cambia solo la notazione, mai i dati:
| Valore | Byte | Lunghezza hex | Lunghezza Base64 |
|---|---|---|---|
| Hash MD5 | 16 | 32 | 24 |
| Hash SHA-1 | 20 | 40 | 28 |
| Hash SHA-256, chiave pubblica Ed25519 | 32 | 64 | 44 |
| Hash SHA-384 | 48 | 96 | 64 |
| Hash SHA-512, firma Ed25519 | 64 | 128 | 88 |
L’esadecimale è anche il formato mostrato da editor esadecimali, analizzatori di pacchetti e debugger, quindi convertire il Base64 in esadecimale ti permette di confrontare i dati con ciò che vedi in questi strumenti.
Quando ti serve l’esadecimale a partire dal Base64
- Confronto di hash. Strumenti come
sha256sumstampano valori esadecimali, mentre gli attributi Subresource Integrity, gli hash della Content Security Policy e gli header di checksum comeContent-MD5usano il Base64. Converti uno dei due valori per poterli confrontare. - Impronte SSH.
ssh-keygen -lmostra le impronteSHA256:in Base64 senza padding, mentre i record DNS SSHFP memorizzano lo stesso digest SHA-256 in esadecimale. Incolla la parte che segueSHA256:per ottenere la forma esadecimale. - Chiavi, IV e firme. Quando esegui il debug di codice crittografico, vedere i byte in esadecimale rende facile controllare la lunghezza, confrontare i valori e individuare un byte mancante o di troppo.
Input accettato dal convertitore
Spazi e interruzioni di riga nell’input Base64 vengono ignorati, i caratteri sicuri per URL - e _ sono accettati e il padding = è facoltativo, quindi puoi incollare così come sono i valori copiati da JSON, da JWT o dall’output del terminale. La conversione lavora sui byte decodificati: il risultato è l’esadecimale dei dati, non dei caratteri Base64 in sé. Per vedere i codici esadecimali di un testo, usa invece Base16.
# Shell
printf '%s' "$B64" | base64 --decode | xxd -p
# Python
base64.b64decode(s).hex()
// Node.js
Buffer.from(s, 'base64').toString('hex')
Domande frequenti
Viene convertito il testo Base64 o i byte che rappresenta?
Perché l’output esadecimale è più lungo dell’input Base64?
L’esadecimale richiede 2 caratteri per byte, il Base64 circa 1,33. Un digest SHA-256 di 32 byte occupa 44 caratteri in Base64 e 64 caratteri in esadecimale.
Come ottengo l’esadecimale in maiuscolo o separato dai due punti?
Posso convertire valori Base64URL presi da un JWT o da una JSON Web Key?
Sì. I caratteri sicuri per URL e il padding mancante vengono gestiti automaticamente, quindi puoi incollare parametri delle chiavi e firme senza alcuna modifica.