SHA-256 und Hash-Funktionen: Praxisleitfaden für Entwickler

SHA-256 ist ein kryptografischer Hash-Algorithmus. Erfahren Sie, wie er funktioniert, die Unterschiede zu MD5, seine Eigenschaften und die wichtigsten Anwendungsfälle.

Was ist eine kryptografische Hash-Funktion

Eine kryptografische Hash-Funktion nimmt eine Eingabe beliebiger Größe und erzeugt eine Ausgabe fester Größe (den Hash). SHA-256 erzeugt einen 256-Bit-Hash (64 Hexadezimalzeichen). Die Funktion ist deterministisch, einwegig und avalanche-sensitiv.

Grundlegende Eigenschaften

  • Determinismus: gleiche Eingabe → gleicher Hash
  • Einwegigkeit: Eingabe aus Hash zu ermitteln ist rechnerisch nicht machbar
  • Avalanche-Effekt: 1 Bit Änderung in der Eingabe ändert ~50% der Ausgabe-Bits
  • Kollisionsresistenz: extrem schwierig, zwei Eingaben mit demselben Hash zu finden

SHA-256 vs MD5

MD5 (128 Bit) ist seit 2004 für Kollisionsangriffe anfällig. SHA-1 (160 Bit) wurde 2017 kompromittiert. SHA-256 gilt weiterhin als sicher und ist Teil der NIST-standardisierten SHA-2-Familie.

Wichtigste Anwendungsfälle

  • Dateiintegrität (Prüfsumme)
  • Digitale Signaturen (DSA, RSA, ECDSA)
  • SSL/TLS-Zertifikate
  • Blockchain (Bitcoin verwendet SHA-256)
  • HMAC für Request-Authentifizierung

Passwort-Hashing: kein direktes SHA-256 verwenden

SHA-256 ist für die Passwort-Hashing zu schnell. Verwenden Sie immer langsame, gesalzene Algorithmen: bcrypt (Work Factor ≥ 12), Argon2id oder scrypt.