JSON opmaken
JSON opmaken, controleren en samenvouwen.
Ontwikkelaar
Base32 coderen en decoderen.
Base64 is compacter. Toch heeft Base32 zijn vaste plek, en de reden is de mens.
Base32 gebruikt alleen de hoofdletters A tot en met Z en de cijfers 2 tot en met 7. Alles wat verward kan worden is bewust weggelaten: de cijfers 0, 1 en 8 en de letters die erop lijken.
Daarmee is een Base32-reeks bestand tegen de klassieke leesfouten: nul en O, één en I, acht en B.
Bovendien maakt hoofdlettergebruik niet uit, wat helpt bij dicteren of overtypen, en er zitten geen tekens in die problemen geven in URL's of bestandsnamen.
De prijs: Base32 is ongeveer twintig procent langer dan Base64 voor dezelfde gegevens. Een eerlijke ruil als er een mens bij betrokken is, en een slechte keuze als het alleen om machines gaat.
De bekendste plek waar je hem tegenkomt is de geheime sleutel voor tweestapsverificatie: kun je de QR-code niet scannen en moet je de sleutel intypen, dan staat die in Base32.
De keuze volgt uit één vraag: wie leest de reeks.
| Kenmerk | Base32 | Base64 |
|---|---|---|
| Tekenvoorraad | 32 | 64 |
| Lengtetoename | ongeveer 60 % | ongeveer 33 % |
| Hoofdlettergevoelig | nee | ja |
| Kans op verwarring | klein | aanwezig |
| Typisch gebruik | gelezen door mensen | binnen software |
Beide zijn in hetzelfde document gestandaardiseerd, en geen van beide is versleuteling. Dat is het allerbelangrijkste punt: een gecodeerde reeks ziet er onleesbaar uit, maar iedereen draait hem in een seconde terug.
Wie een wachtwoord of sleutel als Base32 of Base64 opslaat, heeft niets beveiligd maar alleen verhuld.
Base32 eindigt vaak op een of meer istekens. Dat is opvulling om de lengte kloppend te maken. Sommige systemen laten het weg, dus een decoder zou beide vormen moeten accepteren.
Een paar concrete plekken.
De TOTP-sleutel van authenticator-apps, zoals genoemd. Biedt een app een sleutel om over te typen, dan is die vrijwel altijd Base32.
Adressen in het Tor-netwerk zijn er in gecodeerd, wat hun karakteristieke vorm verklaart.
Uitbreidingen op het domeinnaamsysteem gebruiken een variant, omdat domeinnamen geen onderscheid maken tussen hoofd- en kleine letters.
En soms activatie- of licentiecodes, precies om de reden waarvoor Base32 is ontworpen: ze moeten door de telefoon voor te lezen zijn.
Voor Nederlandse toepassingen is één detail nuttig: Base32 bevat geen accenttekens en geen tekens die op een Nederlands toetsenbord lastig te bereiken zijn. Een code die op een bon wordt gedrukt en later wordt ingetypt past er goed bij.
Alles gebeurt in je browser.
Als een mens de reeks moet lezen, typen of voorlezen.
Omdat ze met O, I en B verward worden. Base32 vermijdt dat bewust.
Nee. Iedereen draait het in een seconde terug.
Dat is opvulling. Sommige systemen laten het weg.
Vooral bij TOTP-sleutels van authenticator-apps en bij Tor-adressen.
Nee.