Advertisement
Advertisement

Base64 Encoder/Decoder

Convert text to/from Base64 encoding

Over Base64 Encoder/Decoder

Base64-codering is een gestandaardiseerde methode voor het converteren van binaire gegevens naar een tekstformaat dat veilig via internet kan worden verzonden of kan worden opgeslagen in op tekst gebaseerde systemen. Het gebruikt een set van 64 afdrukbare ASCII-tekens (A-Z, a-z, 0-9, +, /) om binaire gegevens weer te geven, waardoor het compatibel is met systemen die alleen tekst ondersteunen.

Base64 werkt door binaire gegevens te nemen en deze om te zetten in groepen van 6 bits, waarbij elke groep wordt toegewezen aan een van de 64 basistekens. Dit proces vergroot de gegevensgrootte met ongeveer 33%, maar zorgt ervoor dat de gecodeerde gegevens veilig kunnen worden verzonden via e-mailsystemen, API's en op tekst gebaseerde protocollen zonder corruptie.

Base64-decodering is het omgekeerde proces: Base64-gecodeerde tekst terugconverteren naar de oorspronkelijke binaire gegevens. Het gelijkteken (=) wordt gebruikt als opvulling aan het einde van gecodeerde strings om ervoor te zorgen dat de gegevenslengte een veelvoud van 4 tekens is, zoals vereist door de Base64-standaard.

Hoe Base64-codering werkt

Base64-codering werkt volgens het principe van het weergeven van 3 bytes (24 bits) binaire gegevens als 4 Base64-tekens (24 bits ÷ 6 bits per teken = 4 tekens). De coderingstabel bestaat uit 64 tekens: hoofdletters (A-Z), kleine letters (a-z), cijfers (0-9), plusteken (+) en slash (/).

Het coderingsproces volgt deze stappen:

  • Stap 1: Neem binaire gegevens in groepen van 3 bytes (24 bits)
  • Stap 2: Verdeel elke 24-bits groep in vier 6-bits segmenten
  • Stap 3: Converteer elk 6-bits segment naar een decimaal getal (0-63)
  • Stap 4: Wijs elk decimaal getal toe aan het overeenkomstige Base64-teken
  • Stap 5: Voeg opvulling (=) toe als de invoerlengte niet deelbaar is door 3

Base64-tekenset: A-Z (0-25), a-z (26-51), 0-9 (52-61), + (62), / (63), = (opvulling)

Gebruiksgevallen

1. E-mailbijlagen en MIME
  • Coderen van binaire bestanden (afbeeldingen, documenten) voor e-mailverzending
  • MIME (Multipurpose Internet Mail Extensions) gebruikt Base64 voor niet-tekstbijlagen
  • Voorbeeld: SGVsbG8gV29ybGQ= vertegenwoordigt "Hello World" in Base64
2. Data-URL's en ingesloten afbeeldingen
  • Afbeeldingen direct insluiten in HTML/CSS zonder aparte bestandsverzoeken
  • Data-URL's: data:image/png;base64, iVBORw0...
  • Vermindert HTTP-verzoeken en verbetert paginalaadprestaties
  • Nuttig voor favicons, kleine logo's en inline afbeeldingen
3. API-authenticatie
  • Basis HTTP-authenticatie codeert gebruikersnaam:wachtwoord in Base64
  • Voorbeeld: Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
  • Biedt basiscredentials doorgeven (geen versleuteling - gebruik HTTPS)
4. JSON- en API-payloads
  • Coderen van binaire gegevens binnen JSON-verzoeken/reacties
  • Nuttig voor API's die alleen tekstgegevensoverdracht vereisen
  • Certificaat- en sleutelopslag in op tekst gebaseerde formaten
5. Database-opslag
  • Binaire gegevens (afbeeldingen, PDF's, documenten) opslaan als tekst in databases
  • Op tekst gebaseerde databases die geen BLOB-velden ondersteunen
  • Draagbare, alleen-tekst database-back-ups maken
6. Configuratiebestanden
  • Binaire inhoud insluiten in configuratiebestanden (XML, JSON, YAML)
  • SSH-sleutels en certificaten in tekstconfiguratie
  • Geheimenbeheer in versiegecontroleerde bestanden

Veelvoorkomende Base64-gecodeerde inhoudstypen

Snelle referentie voor veelvoorkomende Base64-gecodeerde gegevenstypen:

  • SGVsbG8gV29ybGQ= – Tekststring "Hello World"
  • iVBORw0KGgo... – PNG-afbeeldingsbestand
  • /9j/4AAQSkZ... – JPEG-afbeeldingsbestand
  • UEsDBBQ... – ZIP- of Office-document
  • JVBERi0... – PDF-bestand
  • MIIBIjANBgkq... – RSA-publieke sleutel of certificaat

Praktische toepassingen

Webontwikkeling
  • Kleine afbeeldingen insluiten in HTML om serververzoeken te verminderen
  • Zelfstandige HTML-bestanden maken met ingesloten assets
  • Binaire gegevens doorgeven via URL-queryparameters
  • Bestandsuploads coderen voor overdracht via alleen-tekstprotocollen
API-integratie
  • Binaire gegevens verzenden en ontvangen via REST API's
  • HTTP-basis authenticatiecredentials
  • Bestanden coderen voor multipart formulierinzendingen
  • OAuth-token en sessiebeheer
E-mailsystemen
  • Bijlagen coderen in e-mailberichten (MIME-formaat)
  • Binaire bestandsoverdracht via e-mail
  • Zelfstandige e-mails maken met ingesloten afbeeldingen
Beveiliging en cryptografie
  • Coderen van versleutelingssleutels en certificaten
  • Cryptografische gegevens opslaan en verzenden
  • PEM-formaatbestanden (certificaten, sleutels) zijn Base64-gecodeerd
  • Geen versleuteling zelf - gebruik voor veilige overdracht van binaire gegevens

Gerelateerde tools

U vindt deze tools misschien ook nuttig:

Tips

  • Base64 vergroot gegevensgrootte met ~33% - overweeg afwegingen voordat u codeert
  • Gebruik Base64 voor tekstoverdracht; gebruik binaire formaten voor opslag indien mogelijk
  • Opvulling (=) aan het einde is vereist voor correcte decodering - verwijder deze niet
  • Base64 is GEEN versleuteling - gebruik altijd HTTPS voor gevoelige gegevens
  • Voor grote bestanden voorkomt Base64-codering/decodering streaming geheugenoverbelasting
  • URL-veilige Base64 vervangt + door - en / door _ voor URL-overdracht
  • Verifieer gedecodeerde uitvoer door bestandsheaders (magic numbers) te controleren op geldigheid

Base64-varianten

  • Standaard Base64: Gebruikt + en / tekens - standaard RFC 4648 codering
  • URL-veilige Base64: Vervangt + door - en / door _ voor URL-overdracht
  • Base64url: Gebruikt in JWT-tokens, gewijzigde opvullingsregels
  • MIME Base64: Beperkt tot 76 tekens per regel voor e-mailcompatibiliteit

Veelvoorkomende problemen en oplossingen

  • Onjuiste opvulling: Base64-strings moeten een lengte hebben die deelbaar is door 4. Voeg = toe indien nodig.
  • Nieuwe regeltekens: MIME Base64 bevat nieuwe regels - verwijder voordat u standaard Base64 decodeert
  • Tekensetverwarring: Standaard Base64 gebruikt +/; URL-veilig gebruikt -_. Weet welke variant u nodig heeft
  • Onvolledige codering: Zorg ervoor dat de volledige gecodeerde string is vastgelegd - afkapping veroorzaakt decoderingsfouten
  • Binaire bestandscorruptie: Kopieer gecodeerde gegevens exact - zelfs enkele tekenverschillen veroorzaken binaire gegevenscorruptie
  • Geheugenproblemen: Zeer grote bestanden kunnen geheugenproblemen veroorzaken - gebruik streaming of chunked codering
  • Tekencoderingsmismatch: Tekst gecodeerd met verschillende tekensets (UTF-8 vs ASCII) produceert verschillende Base64

Hoe gedecodeerde gegevens te verifiëren

  • Tekstgegevens: Moet leesbaar zijn en logisch
  • Afbeeldingen: Controleer magic numbers (eerste bytes): PNG = 89 50 4E 47, JPEG = FF D8 FF, GIF = 47 49 46
  • PDF-bestanden: Moet beginnen met %PDF-
  • ZIP-bestanden: Moet beginnen met PK (hex: 50 4B)
  • JSON/XML: Moet geldig en correct geformatteerd zijn

Veelgestelde vragen

V: Is Base64-codering veilig?
A: Nee. Base64 is GEEN versleuteling - het is slechts een tekstrepresentatie van binaire gegevens. Iedereen kan het gemakkelijk decoderen. Gebruik altijd HTTPS en goede versleuteling voor gevoelige informatie. Gebruik Base64 alleen voor veilige overdracht van gegevens die kunnen worden gedecodeerd.

V: Waarom is Base64 groter dan de oorspronkelijke gegevens?
A: Base64 gebruikt 6 bits per teken om gegevens weer te geven, terwijl binair 8 bits per byte gebruikt. Dit creëert een toename van 33%. De afweging is dat de gegevens tekstveilig worden en overdraagbaar via alleen-tekstsystemen.

V: Kan ik Base64 gebruiken voor wachtwoorden?
A: Nee. Base64 is geen versleuteling. Gebruik voor wachtwoorden algoritmen voor wachtwoordhashing (bcrypt, Argon2, PBKDF2). Base64 is alleen geschikt voor het weergeven van binaire gegevens als tekst voor overdracht.

V: Wat is het verschil tussen Base64 en URL-codering?
A: Base64 codeert alle binaire gegevens als tekst met A-Z, a-z, 0-9, +, /. URL-codering (procentcodering) converteert speciale tekens naar %XX-formaat. URL-codering wordt gebruikt voor URL-parameters; Base64 voor binaire gegevens.

V: Hoe sluit ik een afbeelding in HTML in met Base64?
A: Gebruik een data-URL: <img src="data:image/png;base64, iVBORw0...">. Dit sluit de afbeelding direct in zonder HTTP-verzoek, maar vergroot de HTML-bestandsgrootte.

V: Kan Base64-codering worden omgekeerd?
A: Ja, Base64 is omkeerbare codering, geen versleuteling. Iedereen kan het decoderen. Als u beveiliging nodig heeft, versleutel dan eerst de gegevens en codeer vervolgens de versleutelde gegevens met Base64.

V: Wat gebeurt er als ik Base64-gecodeerde gegevens handmatig bewerk?
A: Zelfs het wijzigen van een enkel teken zal de gedecodeerde gegevens beschadigen. Als de gegevens een binair bestand (afbeelding, document) vertegenwoordigen, wordt het onleesbaar. Decodeer altijd volledige, ongewijzigde Base64-strings.

V: Is er een groottelimiet voor Base64-codering?
A: Technisch gezien niet, maar praktische limieten zijn afhankelijk van het geheugen en de verwerkingskracht van uw systeem. Zeer grote bestanden (>100 MB) kunnen prestatieproblemen veroorzaken. Overweeg chunked codering of streaming voor grote gegevens.

Advertisement
Advertisement