Base64-naar-hex-converter

Plak Base64 en zie dezelfde bytes in hexadecimale notatie. Handig om hashes te vergelijken, sleutels en handtekeningen te inspecteren en vingerafdrukken te controleren die verschillende tools in verschillende formaten tonen.

Werkt volledig in je browser. Er wordt niets geüpload.

Zo gebruik je het

  1. Plak de Base64-string in het invoerveld. Base64 is al gekozen als bron en hex als doel.
  2. Lees de hexadecimale uitvoer af: twee hexcijfers per byte.
  3. Kies een andere doelcodering, zoals Base58 of Base32, als je een ander formaat nodig hebt, of klik op Invoer en uitvoer omwisselen om hex weer om te zetten naar Base64.
  4. Kopieer het resultaat.

Twee manieren om dezelfde bytes te schrijven

Hex en Base64 schrijven allebei binaire gegevens als tekst. Hex gebruikt twee tekens per byte, waardoor je afzonderlijke bytewaarden makkelijk kunt lezen en vergelijken. Base64 verpakt 3 bytes in 4 tekens en is ongeveer een derde korter. Omzetten tussen de twee verandert alleen de notatie, nooit de gegevens:

WaardeBytesLengte in hexLengte in Base64
MD5-hash163224
SHA-1-hash204028
SHA-256-hash, publieke Ed25519-sleutel326444
SHA-384-hash489664
SHA-512-hash, Ed25519-handtekening6412888

Hex is ook wat hex-editors, pakketanalysers en debuggers tonen. Door Base64 om te zetten naar hex kun je de gegevens dus direct naast de weergave van die tools leggen.

Wanneer je hex uit Base64 nodig hebt

  • Hashes vergelijken. Tools zoals sha256sum tonen hex, terwijl Subresource Integrity-attributen, hashes in een Content Security Policy en controlesomheaders zoals Content-MD5 Base64 gebruiken. Zet een van beide om om ze te kunnen vergelijken.
  • SSH-vingerafdrukken. ssh-keygen -l toont SHA256:-vingerafdrukken als Base64 zonder opvulling, terwijl SSHFP-records in DNS dezelfde SHA-256-digest in hex opslaan. Plak het deel na SHA256: om de hexvorm te krijgen.
  • Sleutels, IV's en handtekeningen. Bij het debuggen van cryptografische code zie je in hex meteen of de lengte klopt, kun je waarden eenvoudig vergelijken en valt een ontbrekende of extra byte direct op.

Welke invoer de converter accepteert

Spaties en regeleinden in de Base64-invoer worden genegeerd, de URL-veilige tekens - en _ worden geaccepteerd en =-opvulling is optioneel. Waarden die je uit JSON, JWT's of terminaluitvoer kopieert, kun je dus ongewijzigd plakken. De conversie werkt op de gedecodeerde bytes: het resultaat is de hex van de gegevens, niet van de Base64-tekens zelf. Wil je de hexcodes van een stuk tekst zien, gebruik dan Base16.

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

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

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

Veelgestelde vragen

Zet deze tool de Base64-tekst om of de bytes die erin zijn gecodeerd?
De bytes. De Base64 wordt eerst gedecodeerd en elke resulterende byte wordt als twee hexcijfers geschreven. Wil je de tekencodes van de Base64-string zelf, codeer die dan als tekst met de tool Base16.
Waarom is de hexuitvoer langer dan de Base64-invoer?

Hex heeft 2 tekens per byte nodig, Base64 ongeveer 1,33. Een SHA-256-digest van 32 bytes is 44 tekens lang in Base64 en 64 tekens in hex.

Hoe krijg ik hex in hoofdletters of met dubbele punten ertussen?
Hexcijfers zijn niet hoofdlettergevoelig, dus waarden in kleine letters en in hoofdletters zijn gelijk. Voor een bepaalde notatie plak je de hex als hexinvoer in de Base16-encoder en kies je Hoofdletters, Spatie of Dubbele punt als Scheidingsteken, of 0x als Voorvoegsel.
Kan ik Base64URL-waarden uit een JWT of JSON Web Key omzetten?

Ja. URL-veilige tekens en ontbrekende opvulling worden automatisch verwerkt, dus sleutelparameters en handtekeningen kun je zonder aanpassingen plakken.