Skip to main content
CheckTown
Dev Tools

Base32 Encoding: A Complete Guide

Gepubliceerd 5 min lezen
In dit artikel

Wat is Base32?

Base32 is een binair-naar-tekst coderingsschema gedefinieerd in RFC 4648 dat binaire gegevens weergeeft met een set van 32 tekens (A-Z en 2-7). In tegenstelling tot Base64 gebruikt Base32 alleen hoofdletters en cijfers, waardoor het hoofdletterongevoelig en gebruiksvriendelijk is voor handmatige invoer.

Base32 produceert langere uitvoer dan Base64 (ongeveer 60% overhead versus 33%), maar de afweging is verbeterde leesbaarheid en compatibiliteit met systemen die hoofdletterongevoelig zijn of speciale tekens zoals + en / niet toestaan.

Hoe Base32-codering werkt

Base32 converteert elke groep van 5 bytes (40 bits) naar 8 Base32-tekens (5 bits elk), met opvulling van =-tekens wanneer de invoerlengte geen veelvoud van 5 is.

  • 5-bit groepering — invoerbytes worden opgesplitst in 5-bit blokken, elk gekoppeld aan een van de 32 tekens uit het A-Z, 2-7 alfabet
  • Opvulling — =-tekens vullen de uitvoer aan zodat de lengte altijd een veelvoud van 8 tekens is
  • Varianten — Base32Hex gebruikt 0-9, A-V in plaats van A-Z, 2-7 om de sorteervolgorde van gecodeerde gegevens te behouden

Probeer gratis — geen aanmelding vereist

Codeer of decodeer Base32 →

Wanneer Base32 gebruiken

Base32 heeft de voorkeur boven Base64 in scenario's waar hoofdlettergevoeligheid, leesbaarheid of tekenbeperkingen van belang zijn.

  • TOTP-geheimen — authenticator-apps zoals Google Authenticator gebruiken Base32-gecodeerde geheimen omdat gebruikers ze mogelijk handmatig moeten invoeren
  • Crockford-codering — een Base32-variant die dubbelzinnige tekens (I, L, O, U) verwijdert voor schonere menselijk leesbare identifiers
  • DNS en bestandssystemen — Base32 werkt in hoofdletterongevoelige omgevingen waar het gemengde alfabet van Base64 botsingen zou veroorzaken

Veelgestelde vragen

Wat is het verschil tussen Base32 en Base64?

Base32 gebruikt 32 tekens (A-Z, 2-7) en produceert ongeveer 60% grotere uitvoer, terwijl Base64 64 tekens (A-Z, a-z, 0-9, +, /) gebruikt met ongeveer 33% overhead. Base32 is hoofdletterongevoelig en vermijdt speciale tekens, waardoor het beter geschikt is voor handmatige invoer.

Waarom gebruiken authenticator-apps Base32 in plaats van Base64?

Authenticator-apps gebruiken Base32 omdat gebruikers soms de geheime sleutel handmatig moeten invoeren. Het alleen-hoofdletters alfabet van Base32 voorkomt verwarring tussen gelijkaardige tekens (zoals kleine letter L en cijfer 1) en werkt betrouwbaar tussen hoofdletterongevoelige systemen.

Wat is Base32Hex en wanneer moet ik het gebruiken?

Base32Hex (ook base32hex of uitgebreid hex genoemd) gebruikt de tekens 0-9 en A-V in plaats van het standaard A-Z, 2-7 alfabet. Het behoudt de lexicografische sorteervolgorde van de originele binaire gegevens wanneer gecodeerd, wat nuttig is voor database-indexering en gesorteerde gegevensstructuren.

Gerelateerde Tools