0Pricing
Cryptology Academy · Lektion

Kodierung vs. Verschlüsselung vs. Hashing

Grenzen Sie diese drei Konzepte klar voneinander ab und verstehen Sie, wann Sie welches einsetzen sollten.

Kodierung vs. Verschlüsselung vs. Hashing ist eine kostenlose Cryptology Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Cryptology Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Cryptology Academy-Kurs umfasst insgesamt 4 Lektionen.

Drei verschiedene Operationen

Codierung, Verschlüsselung und Hashing sind drei grundlegend verschiedene Operationen mit unterschiedlichen Zwecken. Sie werden häufig verwechselt, aber das Verständnis ihrer Unterschiede ist für die Entwicklung sicherer Systeme unerlässlich.

Codierung verändert das Datenformat, ohne Sicherheit zu bieten. Verschlüsselung schützt die Vertraulichkeit. Hashing erzeugt einen Fingerabdruck fester Länge zur Überprüfung der Integrität.

Codierung: Umwandlung des Formats

Codierung wandelt Daten für Kompatibilitäts- oder Übertragungszwecke von einem Format in ein anderes um. Sie ist immer umkehrbar und erfordert keinen Schlüssel. Jeder, der das Codierungsverfahren kennt, kann die Daten decodieren.

Beispiele sind Base64 (binär zu ASCII), URL-Codierung (%20 für ein Leerzeichen), HTML-Entitäten (& für &) und Hexadezimal-Codierung. Das Ziel ist Kompatibilität, nicht Sicherheit.

Verschlüsselung: Vertraulichkeit mit einem Schlüssel

Verschlüsselung wandelt Klartext mithilfe eines Schlüssels in Ciphertext um. Die Operation kann nur von jemandem mit dem richtigen Schlüssel rückgängig gemacht werden. Ohne den Schlüssel ist es praktisch unmöglich, den Ciphertext mit vertretbarem Rechenaufwand zu entschlüsseln.

Zu den Verschlüsselungsalgorithmen gehören AES (symmetrisch), RSA (asymmetrisch) und ChaCha20. Der Schlüssel sorgt für die Sicherheit. Der Algorithmus selbst ist öffentlich bekannt.

Hashing: Einweg-Digests fester Länge

Eine kryptografische Hashfunktion nimmt eine Eingabe beliebiger Länge entgegen und erzeugt eine Ausgabe fester Länge (den Digest oder Hash). Die Funktion ist deterministisch (dieselbe Eingabe liefert immer dieselbe Ausgabe), aber absichtlich nicht umkehrbar.

SHA-256 erzeugt unabhängig davon, ob die Eingabe 1 Byte oder 1 Gigabyte groß ist, immer eine Ausgabe von 256 Bit. Hashfunktionen werden für Integritätsprüfungen, die Speicherung von Passwörtern und digitale Signaturen verwendet.

Base64 ist KEINE Verschlüsselung

Ein kritischer und weitverbreiteter Fehler: Base64-codierte Daten sind NICHT verschlüsselt. Zum Decodieren von Base64 reicht das Wissen aus, dass es sich um Base64 handelt – was häufig an der Auffüllung durch "==" oder am Zeichensatz erkennbar ist.

Wenn Sie ein Passwort als "cGFzc3dvcmQ=" codieren (Base64 für "password"), kann ein Angreifer es innerhalb von Sekunden decodieren. Base64 ist im Sicherheitskontext nur für die Kompatibilität bei der Übertragung nützlich, niemals zum Verbergen von Daten.

Ein MD5-Hash eines Passworts ist ein Hash, keine Verschlüsselung

Wenn Sie ein Passwort mit MD5 hashen, wird es als Einweg-Digest gespeichert. Sie können einen MD5-Hash nicht "entschlüsseln", um das Passwort wiederherzustellen. MD5 ist jedoch keine geeignete Hashfunktion für Passwörter, weil sie zu schnell ist.

Angreifer können mithilfe von GPUs Milliarden MD5-Hashes pro Sekunde berechnen, wodurch Brute-Force- und Rainbow-Table-Angriffe praktikabel werden. Für die Passwortspeicherung sind langsame, speicherharte Funktionen wie bcrypt, scrypt oder Argon2 erforderlich.

AES-GCM ist authentifizierte Verschlüsselung

AES-GCM (Galois/Counter Mode) bietet sowohl Vertraulichkeit (Verschlüsselung) als auch Integrität (Authentifizierung). Für die Verschlüsselung verwendet es AES im Counter Mode und für die Authentifizierung GHASH.

Der von AES-GCM erzeugte Authentifizierungs-Tag erkennt jede Manipulation des Ciphertexts. Dadurch ist AES-GCM ein Verfahren für Authenticated Encryption with Associated Data (AEAD) – der Goldstandard moderner Verschlüsselung.

SHA-256 ist eine Hashfunktion

SHA-256 (Secure Hash Algorithm 256-bit) ist eine von NIST standardisierte kryptografische Hashfunktion. Sie erzeugt einen 256-Bit-Digest und gilt als sicher gegen alle bekannten Angriffe, einschließlich Kollisions- und Präbildangriffen.

SHA-256 wird in TLS-Zertifikaten, beim Bitcoin-Mining (Proof-of-Work), bei der HMAC-Nachrichtenauthentifizierung und in digitalen Signaturverfahren wie RSA-SHA256 und ECDSA verwendet.

Häufige Fehler von Entwicklern

Zu den häufigen Sicherheitsfehlern, die aus der Verwechslung dieser drei Verfahren entstehen, gehören: Passwörter zu verschlüsseln statt zu hashen (wodurch der Verschlüsselungsschlüssel zur eigentlichen Schwachstelle wird), für sensible Daten Codierung statt Verschlüsselung zu verwenden, schnelle Hashes (MD5, SHA-1) zur Passwortspeicherung einzusetzen und anzunehmen, dass etwas sicher sein müsse, nur weil es Base64 ist.

Ein weiterer Fehler besteht darin, dieselbe Funktion für mehrere Zwecke zu verwenden, etwa eine Hashfunktion ohne die HMAC-Konstruktion als MAC einzusetzen, wodurch das Verfahren für Length-Extension-Angriffe anfällig ist.

Wann welches Verfahren verwendet wird

Verwenden Sie Codierung, wenn Sie Binärdaten über ein textbasiertes Protokoll übertragen, Bytes in einem Textfeld speichern oder Daten in eine URL einbetten müssen. Verwenden Sie Hashing zur Speicherung von Passwörtern (mit bcrypt/Argon2), zur Überprüfung der Datenintegrität (Prüfsummen) und zur Ableitung von Bezeichnern fester Länge aus Daten variabler Länge.

Verwenden Sie Verschlüsselung, wenn Sie sensible Daten speichern oder übertragen müssen, die mit dem richtigen Schlüssel wiederherstellbar sein sollen. Kombinieren Sie Hashing und Verschlüsselung (AEAD), um sowohl Integrität als auch Vertraulichkeit bei der Übertragung zu gewährleisten.

Alle drei Verfahren in der Praxis kombinieren

Ein gut entwickeltes Authentifizierungssystem verwendet alle drei Verfahren: Passwörter werden mit Argon2 gehasht (Hashing), der Hash wird in einem Datenbankfeld mit AES-256-Spaltenverschlüsselung gespeichert (Verschlüsselung) und das nach der Anmeldung zurückgegebene API-Token wird Base64url-codiert (Codierung).

Jede Operation erfüllt einen eigenen Zweck. Zu erkennen, welche Operation für welchen Anwendungsfall geeignet ist, gehört zu den grundlegenden Fähigkeiten in der angewandten Kryptografie und der Entwicklung sicherer Systeme.

Quiz zu Codierung und Verschlüsselung

Testen Sie Ihr Verständnis von Codierung, Verschlüsselung und Hashing.

Wichtigste Erkenntnisse: Codierung, Verschlüsselung und Hashing im Vergleich

Codierung (Base64, Hexadezimaldarstellung) ist eine Formatumwandlung ohne Sicherheitsfunktion. Verschlüsselung (AES-GCM) bietet umkehrbare Vertraulichkeit und erfordert einen Schlüssel. Hashing (SHA-256, Argon2) erzeugt nicht umkehrbare Digests fester Länge.

Verwenden Sie Codierung niemals für Sicherheitszwecke. Verwenden Sie langsame Hashfunktionen (Argon2/bcrypt) für Passwörter. Verwenden Sie authentifizierte Verschlüsselung (AEAD) für sensible Daten bei der Übertragung oder im Ruhezustand. Die Verwechslung dieser Kategorien ist eine der häufigsten Ursachen für Sicherheitslücken.

Häufig gestellte Fragen

Ist die Lektion „Kodierung vs. Verschlüsselung vs. Hashing“ kostenlos?

Ja — der vollständige Text von „Kodierung vs. Verschlüsselung vs. Hashing“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Cryptology Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Cryptology Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Kodierung vs. Verschlüsselung vs. Hashing“?

Grenzen Sie diese drei Konzepte klar voneinander ab und verstehen Sie, wann Sie welches einsetzen sollten. Du übst Cryptology Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Cryptology Academy zu starten?

Keine Vorkenntnisse erforderlich. Cryptology Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „Kodierung vs. Verschlüsselung vs. Hashing“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Cryptology Academy-Lektion Code schreiben und ausführen?

Ja. Jede Cryptology Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Base64-Kodierung: So funktioniert sie
  2. ASCII, Unicode und Textdarstellung
  3. Hexadezimaldarstellung kryptografischer Ausgaben
  4. Kodierung vs. Verschlüsselung vs. Hashing
← Zurück zu Cryptology Academy