passwords hashing argon2 bcrypt scrypt security

Passwort-Hashing-Standards: Warum Argon2, Bcrypt und Scrypt wichtig sind

Erfahren Sie, wie Sie Passwörter sicher speichern. Vergleichen Sie Argon2, bcrypt, scrypt und PBKDF2.

2026-04-11

Passwort-Hashing-Standards: Warum MD5 und SHA-256 nicht ausreichen

Wenn Sie ein Entwickler sind, gehört der Schutz von Benutzerpasswörtern zu Ihren wichtigsten Aufgaben. Passwörter im Klartext zu speichern ist offensichtlich eine Katastrophe, aber viele Entwickler machen immer noch den Fehler, „schnelle“ kryptographische Hashes wie MD5 oder sogar SHA-256 für die Passwortspeicherung zu verwenden.

Dieser Leitfaden erklärt, warum diese Methoden unzureichend sind und was die aktuellen Industriestandards für sicheres Passwort-Hashing sind.


1. Das Problem mit „schnellen“ Hashes

Algorithmen wie MD5, SHA-1 und SHA-256 wurden entwickelt, um schnell zu sein. Sie sind dazu gedacht, die Integrität großer Dateien in Millisekunden zu überprüfen.

Während Geschwindigkeit bei Dateiprüfungen großartig ist, ist sie bei Passwörtern ein Albtraum. Eine moderne GPU kann Milliarden von SHA-256-Hashes pro Sekunde berechnen. Wenn ein Angreifer Ihre Datenbank mit SHA-256-gehashten Passwörtern stiehlt, kann er „Brute-Force“-Methoden anwenden, um fast jedes einfache Passwort innerhalb weniger Stunden zu erraten.


2. Moderne langsame Hashing-Algorithmen

Um Brute-Force-Angriffe abzuwehren, verwenden wir Algorithmen, die speziell darauf ausgelegt sind, rechenintensiv zu sein. Dies sind „adaptive“ Hashes, die es Ihnen ermöglichen, den „Work Factor“ zu erhöhen, wenn die Hardware schneller wird.

Argon2: Der Goldstandard

Argon2 gewann 2015 die Password Hashing Competition und ist derzeit der von OWASP und NIST empfohlene Standard.

  • Argon2id: Dies ist die bevorzugte Variante. Sie ist sowohl gegen GPU-basiertes Cracking als auch gegen Seitenkanalangriffe resistent.
  • Konfigurierbar: Sie können den Speicherverbrauch, die Iterationen und den Parallelisierungsgrad so einstellen, dass das Hashing eines Passworts auf Ihrem Server beispielsweise 500 ms dauert.

bcrypt: Der bewährte Klassiker

bcrypt wurde 1999 entwickelt und ist einer der am weitesten verbreiteten und vertrauenswürdigsten Algorithmen der Geschichte.

  • Work Factor: Er verwendet einen „Cost“-Parameter. Jedes Mal, wenn Sie den Cost-Wert um 1 erhöhen, verdoppelt sich die Zeit, die für das Hashing des Passworts benötigt wird.
  • Immer noch sicher: Trotz seines Alters bleibt bcrypt gegenüber modernen Angriffen hochsicher.

scrypt: Der Pionier der Speicherhärte

scrypt war der erste bedeutende Algorithmus, der „Speicherhärte“ (Memory Hardness) einführte. Er benötigt eine beträchtliche Menge an RAM für die Berechnung, was es für Angreifer extrem teuer macht, spezialisierte Hardware (ASICs) zum Knacken zu bauen.


3. Über den Algorithmus hinaus: Salt und Pepper

Selbst mit einem starken Algorithmus benötigen Sie zusätzliche Schutzschichten.

Das Salt: Rainbow Tables besiegen

Ein Salt ist eine zufällige Zeichenfolge, die dem Passwort vor dem Hashing hinzugefügt wird.

  • Warum: Ohne Salt hätten zwei Benutzer mit demselben Passwort („passwort123“) denselben Hash. Ein Angreifer könnte „Rainbow Tables“ (vorberechnete Listen von Hashes) verwenden, um sie sofort zu knacken.
  • Regel: Jeder Benutzer muss ein einzigartiges, zufälliges Salt haben, das zum Zeitpunkt der Kontoerstellung generiert wird.

Das Pepper: Die geheime Schicht

Ein Pepper ähnelt einem Salt, wird aber nicht in der Datenbank gespeichert, sondern in einer sicheren Konfigurationsdatei oder einem Hardware-Sicherheitsmodul (HSM).

  • Warum: Wenn ein Angreifer Ihre Datenbank stiehlt, aber nicht die geheimen Schlüssel Ihrer Anwendung, kann er die Hashes immer noch nicht knacken, da er den Pepper nicht kennt.

4. Best Practices für Entwickler

  1. Verwenden Sie niemals MD5 oder SHA-1: Sie sind für Sicherheitszwecke völlig unbrauchbar.
  2. Vermeiden Sie einfaches SHA-256: Es ist zu schnell und kann leicht von GPUs geknackt werden.
  3. Wählen Sie Argon2id oder bcrypt: Verwenden Sie Argon2id für neue Projekte; bcrypt ist eine solide Alternative mit exzellenter Bibliotheksunterstützung.
  4. Passen Sie Ihren Work Factor an: Zielen Sie auf eine Hashing-Zeit zwischen 250 ms und 500 ms ab. Das ist schnell genug für einen Benutzer beim Login, aber langsam genug, um einen Angreifer zu stoppen.
  5. Verwenden Sie immer ein Salt: Die meisten modernen Bibliotheken (wie bcrypt in Node.js oder Python) verarbeiten das Salting automatisch.

Zusammenfassender Vergleich

Algorithmus Typ Speicherhart Empfohlen
MD5 Schneller Hash Nein ❌ NIEMALS
SHA-256 Schneller Hash Nein ❌ NEIN (für Passwörter)
PBKDF2 Langsamer Hash Nein ⚠️ Nur Legacy
bcrypt Langsamer Hash Nein ✅ JA
scrypt Langsamer Hash Ja ✅ JA
Argon2id Langsamer Hash Ja 🏆 AM BESTEN

Fazit

Der Schutz von Passwörtern bedeutet nicht nur, einen beliebigen Algorithmus zu wählen; es geht darum, Werkzeuge zu verwenden, die der rohen Gewalt moderner Hardware standhalten. Durch die Verwendung von Argon2id mit einem geeigneten Salt und Work Factor bieten Sie Ihren Benutzern das höchste heute verfügbare Sicherheitsniveau.

Müssen Sie einen Hash testen oder ein sicheres Passwort für Ihre eigenen Konten generieren? Nutzen Sie unser Passwort-Generator Tool und den Hash Generator, um Ihre Daten sicher zu halten.