JSON opmaken
JSON opmaken, controleren en samenvouwen.
Ontwikkelaar
Tekst en bestanden coderen en decoderen.
Dit moet vooropstaan, want het gaat regelmatig mis in echte systemen.
Base64 kent geen sleutel en geen geheim. Het is een vaste omrekening tussen twee schrijfwijzen van dezelfde gegevens, en elk apparaat kan hem terugdraaien.
Toch worden er wachtwoorden en API-sleutels in Base64 opgeslagen „om ze te verbergen". Wie het bestand kan lezen, kan de waarde binnen een seconde terugdraaien. Er is geen drempel weggenomen.
Waar het wél voor is: gegevens die geen tekst zijn — een afbeelding, een certificaat, een bijlage — door een kanaal krijgen dat alleen tekst aankan. E-mailbijlagen werken zo, en afbeeldingen die rechtstreeks in HTML of CSS staan.
Wil je iets echt beschermen, dan heb je versleuteling nodig, en voor wachtwoorden een hashfunctie die daarvoor is gemaakt.
Base64 werkt op bytes, niet op letters. Hoe een letter een byte wordt, hangt af van de tekencodering — en daar gaat het mis.
In UTF-8 is een gewone letter één byte, maar een é, ë of ï twee bytes. Het eurosymbool is er drie. Wie codeert met de ene codering en decodeert met de andere, krijgt onleesbare tekens terug.
Deze tool gebruikt UTF-8 in beide richtingen, wat vrijwel overal de juiste keuze is. Krijg je bij het decoderen rare tekens, dan is de bron waarschijnlijk in een oudere codering gemaakt.
Voor gebruik in een webadres is er een variant: base64url, die de tekens + en / vervangt door - en _, omdat die eerste twee in een adres een eigen betekenis hebben. Een JWT gebruikt die variant.
Base64 maakt gegevens ongeveer een derde groter. Drie bytes worden vier tekens.
Dat is de reden om het niet zomaar voor grote bestanden te gebruiken. Een afbeelding van een megabyte wordt ongeveer 1,37 megabyte aan tekst, plus de overhead van de omgeving eromheen.
Voor kleine afbeeldingen in CSS of HTML is dat een prima ruil: het scheelt een netwerkverzoek. Voor iets groots dan een paar kilobyte is een gewone verwijzing beter.
Het opvulteken aan het eind — een of twee isgelijktekens — hoort erbij. Sommige systemen laten het weg; wie zo'n waarde decodeert, moet het soms zelf aanvullen.
Alles gebeurt in deze pagina en er wordt niets verstuurd.
Nee. Er is geen sleutel; iedereen kan het terugdraaien. Gebruik het nooit om iets te verbergen.
Verschil in tekencodering. Deze tool gebruikt UTF-8; oudere bronnen soms iets anders.
Een variant waarin + en / vervangen zijn door - en _, zodat de waarde in een webadres kan. JWT gebruikt die.
Ongeveer een derde. Drie bytes worden vier tekens.
Dat is opvulling aan het eind. Sommige systemen laten die weg.
Nee.