PBKDF2-Generator

Der PBKDF2-Generator leitet aus Passwort und Salt einen Schlüssel ab, mit wählbaren Iterationen und HMAC-SHA-256 oder SHA-512, als Hex oder Base64.

Abgeleiteter Schlüssel
FormatWert

Alles läuft in Ihrem Browser, Eingaben werden nicht übertragen. Nur zum Lernen und Testen: Verwenden Sie für echte Geheimnisse und Produktivsysteme geprüfte Werkzeuge Ihrer Organisation.

PBKDF2 berechnen: Salt, Iterationen und Hash-Funktion

PBKDF2 (Password-Based Key Derivation Function 2, RFC 8018) macht aus einem Passwort einen Schlüssel fester Länge. Dazu wird ein HMAC, meist HMAC-SHA-256, sehr oft hintereinander ausgeführt. Die Zahl der Iterationen bestimmt, wie lange eine einzelne Berechnung dauert, und damit, wie teuer das Durchprobieren vieler Passwörter für Angreifer wird. Der Salt ist ein zufälliger Wert pro Passwort; er sorgt dafür, dass gleiche Passwörter unterschiedliche Ergebnisse liefern und vorberechnete Tabellen nutzlos sind.

Mit dem PBKDF2-Generator können Sie PBKDF2 berechnen, Testvektoren nachprüfen oder gespeicherte Hashes aus Django und anderen Systemen nachvollziehen. Beispiel: Passwort „password“, Salt „salt“ als Text, 1 Iteration, HMAC-SHA-1, 20 Byte ergibt laut RFC 6070 0c60c80f961f0e71f3a9b524af6012062fe037a6. Die Schlüsselableitung läuft über die WebCrypto-Schnittstelle Ihres Browsers; Passwort und Salt verlassen das Gerät nicht.

Für die Speicherung von Passwörtern nennt die OWASP (Password Storage Cheat Sheet) für PBKDF2-SHA256 etwa 600.000 Iterationen und für PBKDF2-HMAC-SHA-512 etwa 210.000. Neuere Verfahren wie Argon2id oder scrypt sind speicherintensiv und damit auf Grafikkarten schwerer anzugreifen; PBKDF2 bleibt sinnvoll, wenn FIPS-Konformität gefordert ist. Einen schnellen, ungesalzenen Hash erzeugt der Hash-Generator, für bcrypt gibt es den bcrypt-Generator.

Anleitung: PBKDF2-Generator in 5 Schritten

  1. Das Passwort eintragen.
  2. Den Salt eingeben und sein Format wählen oder mit „Zufälligen Salt erzeugen“ einen neuen erstellen.
  3. Iterationen, Hash-Funktion (etwa HMAC-SHA-256) und Schlüssellänge in Byte festlegen.
  4. Ausgabe als Hex oder Base64 wählen und den abgeleiteten Schlüssel kopieren.
  5. Optional einen erwarteten Wert einfügen, um ihn mit dem Ergebnis zu vergleichen.

Typische Anwendungsfälle

  • Django-Hash nachvollziehen: Einen gespeicherten pbkdf2_sha256-Wert mit Iterationen und Salt nachrechnen.
  • Testvektoren prüfen: Die eigene Implementierung mit dem Beispiel aus RFC 6070 abgleichen.
  • Iterationszahl wählen: Ausprobieren, wie lange eine Berechnung mit 600.000 Iterationen auf einem Gerät dauert.
Fragen

Häufige Fragen

Wie viele Iterationen sind für PBKDF2 sinnvoll?

Für Passwort-Hashes nennt die OWASP derzeit etwa 600.000 Iterationen für PBKDF2-SHA256, 210.000 für SHA-512 und 1.300.000 für SHA-1. Messen Sie, wie lange die Anmeldung auf Ihrem Server dauern darf, und wählen Sie die Zahl so hoch, wie es die Antwortzeit zulässt.

Wie lang sollte der Salt sein?

Mindestens 16 zufällige Byte, für jedes Passwort neu erzeugt. Der Salt ist nicht geheim und wird zusammen mit dem Hash gespeichert. Der Knopf „Zufälligen Salt erzeugen“ nutzt dafür crypto.getRandomValues.

Ist PBKDF2-SHA256 noch sicher?

Ja, mit ausreichend vielen Iterationen. Es ist aber nicht speicherintensiv, deshalb lassen sich viele Versuche parallel auf Grafikkarten rechnen. Für neue Systeme ohne FIPS-Vorgabe empfehlen OWASP und RFC 9106 eher Argon2id.

Wie prüfe ich einen Django-Passwort-Hash?

Django speichert pbkdf2_sha256$Iterationen$Salt$Hash. Tragen Sie Iterationen und Salt (als Text) ein, wählen Sie HMAC-SHA-256 und 32 Byte. Die Zeile „Django-Format“ in der Tabelle muss dann genau übereinstimmen.

Warum dauert die Berechnung so lange?

Das ist gewollt: Jede Iteration ist ein HMAC-Aufruf. 600.000 Iterationen brauchen im Browser je nach Gerät einige hundert Millisekunden. Genau dieser Aufwand bremst Angreifer, die Millionen Passwörter durchprobieren.

Wie berechne ich PBKDF2 in Python?

Mit der Standardbibliothek: hashlib.pbkdf2_hmac('sha256', b'passwort', b'salt', 600000).hex(). Ohne Angabe einer Länge entspricht das Ergebnis der Ausgabelänge der Hash-Funktion, bei SHA-256 also 32 Byte.

Was ist der Unterschied zwischen PBKDF2 und bcrypt?

PBKDF2 wiederholt einen HMAC beliebig oft und erlaubt freie Wahl von Hash-Funktion und Schlüssellänge; es ist FIPS-konform. bcrypt nutzt einen festen Algorithmus mit Kostenfaktor, speichert den Salt im Ergebnis mit und wertet nur die ersten 72 Byte des Passworts aus.

Weitere Werkzeuge

Das könnte auch helfen

Alle 358 Werkzeuge