suche
ESC

Encoding-Basics: Base64, URL, Hex

Kodierung von Verschlüsselung trennen und Base64, URL-Encoding und Hex sicher anwenden.

Azubi Security 15 Min +110 XP

Worum geht’s

In Logs, Konfigurationen, E-Mail-Headern und API-Aufrufen stößt du ständig auf scheinbar „kryptische” Zeichenketten: aGFsbG8=, %20, 48656c6c6f. Das ist keine Verschlüsselung, sondern Kodierung — eine umkehrbare Umschreibung. Wer das erkennt und auflösen kann, liest Header, debuggt URLs und versteht JWTs. Dieser Skill räumt mit dem häufigsten Missverständnis auf: Kodierung schützt nichts.

Konzept

Kodierung wandelt Daten in eine andere Darstellung um, damit sie über einen bestimmten Kanal transportierbar sind — ohne Schlüssel, jederzeit umkehrbar. Drei verbreitete Verfahren:

  • Base64: stellt Binärdaten als 64 druckbare ASCII-Zeichen dar (A–Z a–z 0–9 + /). Drei Bytes (24 Bit) werden zu vier Zeichen (je 6 Bit). = am Ende ist Padding. Nutzen: Binärdaten in Text-Kontexten (E-Mail-Anhänge, JSON, Zertifikate als PEM).
  • Base64url: Variante für URLs/JWT — ersetzt +// durch -/_ und lässt Padding oft weg.
  • URL-Encoding (Percent-Encoding): ersetzt in URLs unsichere Zeichen durch % plus Hex-Code, z. B. Leerzeichen → %20, & → %26.
  • Hex (Base16): stellt jedes Byte als zwei Hex-Ziffern dar (H → 48). Üblich für Hashes, MAC-Adressen, Byte-Dumps.

Der Kernsatz, den du nie vergessen darfst: Kodierung ≠ Verschlüsselung. Base64 lässt sich ohne jedes Geheimnis zurückwandeln. Was Base64-kodiert in einer Config steht, ist nicht geschützt — es ist nur „unleserlich auf den ersten Blick”.

So entstehen aus drei Bytes vier Base64-Zeichen:

3 Bytes (8 Bit)
M 77 01001101
a 97 01100001
n 110 01101110
4 × 6 Bit
010011 Index 19 T
010110 Index 22 W
000101 Index 5 F
101110 Index 46 u

Man → TWFu. Drei 8-Bit-Bytes (24 Bit) werden in vier 6-Bit-Gruppen zerlegt; jede Gruppe (0–63) indexiert das Base64-Alphabet A–Z a–z 0–9 + /. Fehlen am Ende Bytes, füllt = auf.

Beispiel-Fall

Aufgabe: In einer Konfigurationsdatei steht password: cGFzc3dvcnQxMjM=. Ist das sicher?

  1. Die Endung = und der Zeichenvorrat deuten auf Base64.
  2. Dekodieren ergibt passwort123 — Klartext.
  3. Schluss: Das Passwort ist nicht verschlüsselt, nur kodiert. Jeder mit Lesezugriff auf die Datei kennt es.
  4. Konsequenz: Solche Werte gehören in ein Secret-Management oder verschlüsselt abgelegt, nicht „base64-versteckt”.

Anwenden

▶ Am Tool ausprobieren

Probiere denselben Text in Base64 und Hex: gleiche Daten, zwei verschiedene Darstellungen.

  1. Kodiere das Wort 'Hallo' nach Base64 und beobachte das Ergebnis (inkl. Padding).
  2. Dekodiere die Base64-Ausgabe zurück — du brauchst keinen Schlüssel.
  3. Kodiere 'a b&c' per URL-Encoding und erkenne %20 (Leerzeichen) und %26 (&).
Tool öffnen: /encoder-decoder ↗

Selbsttest

Praxis-Challenge

⚑ Praxis-Challenge

Nimm einen kurzen Satz und kodiere ihn nacheinander in Base64, Base64url und Hex. Dekodiere jede Variante wieder. Notiere, wodurch sich Base64 und Base64url im Zeichenvorrat unterscheiden, und erkläre in einem Satz, warum „base64-versteckte” Passwörter unsicher sind.

Tool öffnen: /encoder-decoder ↗

Modul im Speedrun testen →