Konvertera Base64 till hex

Klistra in Base64 och se samma byte i hexadecimal form. Praktiskt när du jämför hashvärden, granskar nycklar och signaturer eller matchar fingeravtryck som olika verktyg skriver ut i olika format.

Körs helt i din webbläsare. Inget laddas upp.

Så använder du verktyget

  1. Klistra in Base64-strängen i fältet Indata. Base64 är redan förvalt som källa och hex som mål.
  2. Läs av det hexadecimala resultatet, med två hexsiffror för varje byte.
  3. Välj en annan målkodning, till exempel Base58 eller Base32, om du behöver ett annat format, eller klicka på Byt plats på indata och utdata för att konvertera hex tillbaka till Base64.
  4. Kopiera resultatet.

Två sätt att skriva samma byte

Både hex och Base64 skriver binärdata som text. Hex använder två tecken per byte, vilket gör enskilda bytevärden lätta att läsa och jämföra. Base64 packar 3 byte i 4 tecken och blir ungefär en tredjedel kortare. En konvertering mellan dem ändrar bara skrivsättet, aldrig själva datan:

VärdeByteLängd i hexLängd i Base64
MD5-hashvärde163224
SHA-1-hashvärde204028
SHA-256-hashvärde, publik Ed25519-nyckel326444
SHA-384-hashvärde489664
SHA-512-hashvärde, Ed25519-signatur6412888

Hex är också det format som hexeditorer, paketanalysverktyg och felsökare visar, så när du konverterar Base64 till hex kan du jämföra datan direkt med det som de verktygen visar.

När du behöver hex från Base64

  • Jämföra hashvärden. Verktyg som sha256sum skriver ut hex, medan Subresource Integrity-attribut, hashvärden i Content Security Policy och kontrollsummeheaders som Content-MD5 använder Base64. Konvertera den ena sidan för att kunna jämföra dem.
  • SSH-fingeravtryck. ssh-keygen -l skriver ut fingeravtryck av typen SHA256: som Base64 utan utfyllnad, medan SSHFP-poster i DNS lagrar samma SHA-256-hashvärde i hex. Klistra in delen efter SHA256: för att få hexformen.
  • Nycklar, IV:er och signaturer. När du felsöker kryptografisk kod och ser bytena i hex blir det enkelt att kontrollera längden, jämföra värden och upptäcka en saknad eller extra byte.

Indata som konverteraren accepterar

Mellanslag och radbrytningar i Base64-indatan ignoreras, de URL-säkra tecknen - och _ accepteras och utfyllnad med = är valfri, så värden som du kopierat från JSON, JWT:er eller terminalutdata kan klistras in som de är. Konverteringen arbetar på de avkodade bytena: resultatet är datan i hex, inte själva Base64-tecknen i hex. Vill du se hexkoderna för en text använder du Base16 i stället.

# Shell
printf '%s' "$B64" | base64 --decode | xxd -p

# Python
base64.b64decode(s).hex()

// Node.js
Buffer.from(s, 'base64').toString('hex')

Vanliga frågor

Konverteras Base64-texten eller de byte som den representerar?
Byten. Base64-datan avkodas först, och varje byte i resultatet skrivs som två hexsiffror. Vill du ha teckenkoderna för själva Base64-strängen kodar du den som text med verktyget Base16.
Varför är hexresultatet längre än Base64-indatan?

Hex behöver 2 tecken per byte, medan Base64 behöver ungefär 1,33. Ett SHA-256-hashvärde på 32 byte är 44 tecken långt i Base64 och 64 tecken i hex.

Hur får jag hex med versaler eller kolon som avgränsare?
Hexsiffror är inte skiftlägeskänsliga, så värden med gemener och versaler är lika. Vill du ha ett visst format klistrar du in hexvärdet i Base16-kodaren med Hex som indata och väljer Versaler, Mellanslag eller Kolon som avgränsare, eller prefixet 0x.
Kan jag konvertera Base64URL-värden från en JWT eller JSON Web Key?

Ja. URL-säkra tecken och utelämnad utfyllnad hanteras automatiskt, så nyckelparametrar och signaturer kan klistras in utan ändringar.