Über dieses Tool
Passwörter speichert man nie im Klartext, sondern als Hash. Dafür eignen sich aber keine schnellen Prüfsummen wie SHA-256: Passwort-Hashes müssen absichtlich langsam sein und ein zufälliges Salt enthalten, damit Angreifer nach einem Datenleck nicht Milliarden Passwörter pro Sekunde durchprobieren können.
Der Passwort-Hash-Generator erzeugt Hashes mit bcrypt, Argon2id, Argon2i, Argon2d, scrypt sowie PBKDF2 mit SHA-256 oder SHA-512. Die Parameter (Kostenfaktor, Speicher, Iterationen, Parallelität) sind auf die Empfehlungen des OWASP Password Storage Cheat Sheet voreingestellt und lassen sich anpassen.
Im Modus „Prüfen“ fügst du einen vorhandenen Hash ein: Das Tool erkennt Algorithmus und Parameter und prüft, ob ein Passwort passt. Es versteht bcrypt ($2a$, $2b$, $2y$ aus PHP), Argon2 im PHC-Format, scrypt im PHC/passlib-Format sowie PBKDF2 im PHC-, passlib- und Django-Format.
Alles läuft lokal in deinem Browser. Passwort und Hash werden weder hochgeladen noch in der URL gespeichert.
So funktioniert’s
- Wähle „Hashen“ und gib das Passwort ein.
- Wähle den Algorithmus und passe bei Bedarf die Parameter an – „Standardwerte“ setzt sie auf die Empfehlung zurück.
- Klicke auf „Hash erzeugen“ und kopiere den Hash.
- Zum Prüfen wechselst du zu „Prüfen“, fügst den Hash ein, gibst das Passwort ein und klickst auf „Prüfen“.
Häufige Fragen
Welchen Algorithmus sollte ich verwenden?
Für neue Anwendungen empfiehlt OWASP Argon2id (z. B. 19 MiB Speicher, 2 Durchläufe). bcrypt ist weit verbreitet und weiterhin solide, scrypt ebenfalls. PBKDF2 nimmt man vor allem, wenn ein FIPS-zertifiziertes Verfahren vorgeschrieben ist – dann mit sehr vielen Iterationen (600.000 bei SHA-256).
Warum ergibt dasselbe Passwort jedes Mal einen anderen Hash?
Jeder Hash bekommt ein neues zufälliges Salt, das im Hash-String mitgespeichert wird. So haben zwei Nutzer mit gleichem Passwort unterschiedliche Hashes, und vorberechnete Tabellen helfen Angreifern nicht. Beim Prüfen liest das Tool Salt und Parameter aus dem Hash.
Warum ist bcrypt auf 72 Bytes begrenzt?
bcrypt verarbeitet nur die ersten 72 Bytes eines Passworts, alles danach wird ignoriert. Umlaute und Emojis belegen in UTF-8 mehrere Bytes. Das Tool weist dich darauf hin, wenn dein Passwort länger ist. Argon2 und scrypt haben diese Grenze nicht.
Wie wähle ich Kostenfaktor oder Speicher?
So hoch, wie es dein Server verträgt: Ein Login sollte grob 100 bis 500 ms rechnen. Die Dauer zeigt das Tool nach jedem Hash an – im Browser ist sie meist etwas länger als mit einer nativen Bibliothek. Jede Erhöhung des bcrypt-Kostenfaktors um 1 verdoppelt die Rechenzeit.
Kann ich hier Hashes aus PHP, Django oder Node.js prüfen?
Ja. PHPs password_hash() liefert bcrypt ($2y$) oder Argon2 im PHC-Format, Node-Bibliotheken wie bcrypt und argon2 ebenfalls. Django speichert pbkdf2_sha256$…, Python passlib $pbkdf2-sha256$… und $scrypt$…. Alle diese Formate erkennt das Tool automatisch.
Ist ein Passwort-Hash dasselbe wie der Hash-Generator?
Nein. Der Hash-Generator berechnet schnelle Prüfsummen wie SHA-256 für Dateien und Texte – ungeeignet für Passwörter. Ein gutes Passwort erzeugst du mit dem Passwort-Generator, seine Stärke prüfst du mit dem Passwort-Stärke-Prüfer.