Convertitore da Base64 a esadecimale

Incolla una stringa Base64 e visualizza gli stessi byte in esadecimale. Utile per confrontare hash, esaminare chiavi e firme e verificare impronte che strumenti diversi mostrano in formati diversi.

Funziona interamente nel tuo browser. Non viene caricato nulla.

Come si usa

  1. Incolla la stringa Base64 nel campo di input. Base64 è già selezionato come origine ed Esadecimale come destinazione.
  2. Leggi l’output esadecimale: due cifre esadecimali per ogni byte.
  3. 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.
  4. 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:

ValoreByteLunghezza hexLunghezza Base64
Hash MD5163224
Hash SHA-1204028
Hash SHA-256, chiave pubblica Ed25519326444
Hash SHA-384489664
Hash SHA-512, firma Ed255196412888

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 sha256sum stampano valori esadecimali, mentre gli attributi Subresource Integrity, gli hash della Content Security Policy e gli header di checksum come Content-MD5 usano il Base64. Converti uno dei due valori per poterli confrontare.
  • Impronte SSH. ssh-keygen -l mostra le impronte SHA256: in Base64 senza padding, mentre i record DNS SSHFP memorizzano lo stesso digest SHA-256 in esadecimale. Incolla la parte che segue SHA256: 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?
I byte. Il Base64 viene prima decodificato e ogni byte risultante viene scritto come due cifre esadecimali. Se ti servono i codici dei caratteri della stringa Base64 stessa, codificala come testo con lo strumento Base16.
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?
Le cifre esadecimali non distinguono tra maiuscole e minuscole, quindi i valori scritti nei due modi sono equivalenti. Per uno stile particolare, incolla l’esadecimale nel codificatore Base16 come input Esadecimale e scegli Maiuscole, il separatore Spazio o Due punti, oppure il prefisso 0x.
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.