Bcrypt-Generator: Hash erzeugen und prüfen
Bcrypt-Generator im Browser: Passwort mit wählbarem Kostenfaktor hashen und prüfen, ob ein Passwort zu einem vorhandenen Bcrypt-Hash passt.
Passwort gegen Bcrypt-Hash prüfen
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.
So funktioniert bcrypt
Bcrypt ist ein Verfahren, um Passwörter zu hashen, also so zu speichern, dass sich das Passwort nicht zurückrechnen lässt. Anders als schnelle Hashes wie SHA-256 ist bcrypt absichtlich langsam. Der Kostenfaktor legt fest, wie langsam: Jede Stufe verdoppelt die Rechenzeit. Bei Kostenfaktor 10 durchläuft der Algorithmus 1.024 Runden der aufwendigen Blowfish-Schlüsselvorbereitung. Das bremst Angreifer, die gestohlene Hashes mit Millionen Passwörtern durchprobieren, viel stärker als den Server bei einer einzelnen Anmeldung.
Ein Bcrypt Hash wie $2b$10$… enthält alles, was zum Prüfen nötig ist: das Präfix für die Version, den Kostenfaktor, ein zufälliges Salt (22 Zeichen) und den eigentlichen Hash (31 Zeichen). Das Salt sorgt dafür, dass dasselbe Passwort jedes Mal einen anderen Hash ergibt. Zum Bcrypt prüfen rechnet das Werkzeug mit dem Salt aus dem Hash erneut und vergleicht das Ergebnis.
Grenzen: bcrypt verarbeitet nur die ersten 72 Byte des Passworts, längere Passwörter werden abgeschnitten. Das Werkzeug ist eine eigene Implementierung in JavaScript und wird mit bekannten Testvektoren aus OpenBSD und jBCrypt geprüft. Zum Passwort hashen in Ihrer Anwendung nutzen Sie die Bibliothek Ihrer Programmiersprache, etwa password_hash() in PHP oder das Paket bcrypt in Node.js und Python. Für neue Systeme empfiehlt OWASP vorrangig Argon2id; bcrypt mit einem Kostenfaktor von mindestens 10 ist weiterhin verbreitet und akzeptiert.
Anleitung: Bcrypt-Generator in 4 Schritten
- Passwort eingeben und einen Kostenfaktor zwischen 4 und 12 wählen.
- Präfix festlegen, in der Regel $2b$, für PHP-Anwendungen gegebenenfalls $2y$.
- Den Bcrypt-Hash kopieren; „Neu erzeugen“ erstellt ihn mit einem neuen Salt.
- Zum Prüfen unter „Passwort gegen Bcrypt-Hash prüfen“ Passwort und vorhandenen Hash eintragen und auf „Prüfen“ klicken.
Typische Anwendungsfälle
- Testbenutzer anlegen: einen Hash für ein Testpasswort erzeugen und in eine Seed-Datei oder Testdatenbank übernehmen.
- Login-Fehler eingrenzen: prüfen, ob ein gespeicherter Hash tatsächlich zum erwarteten Passwort passt.
- Kostenfaktor ausprobieren: sehen, wie sich die Rechenzeit mit jeder Stufe verdoppelt.
- Hash aus einer Datenbank verstehen: Präfix, Kostenfaktor und Salt zuordnen.
Häufige Fragen
Welchen Kostenfaktor soll ich wählen?
So hoch, dass eine Prüfung auf Ihrem Server etwa 100 bis 300 Millisekunden dauert. Das ist heute meist Kostenfaktor 10 bis 12. Messen Sie auf der echten Hardware, denn Server rechnen schneller als ein Browser.
Warum ergibt dasselbe Passwort jedes Mal einen anderen Hash?
Weil bei jedem Erzeugen ein neues zufälliges Salt gewählt wird. Das Salt steht im Hash, deshalb lässt sich das Passwort trotzdem prüfen.
Was ist der Unterschied zwischen $2a$, $2b$ und $2y$?
Die Varianten rechnen bei normalen Passwörtern gleich. $2b$ ist die aktuelle Kennung aus OpenBSD, $2y$ nutzt PHP, $2a$ ist die ältere Bezeichnung. Die meisten Bibliotheken akzeptieren alle drei.
Kann man einen Bcrypt-Hash entschlüsseln?
Nein. Ein Hash ist keine Verschlüsselung. Man kann nur Passwörter ausprobieren und vergleichen, und genau das macht bcrypt durch den Kostenfaktor teuer.
Ist bcrypt noch sicher?
Ja, bei ausreichendem Kostenfaktor. Für neue Projekte wird oft Argon2id empfohlen, weil es zusätzlich viel Speicher braucht und damit Grafikkarten-Angriffe erschwert.
Wie erzeuge ich einen Bcrypt-Hash für .htpasswd?
Auf der Kommandozeile mit htpasswd -nB benutzername. Alternativ hier einen Hash mit dem Präfix $2y$ erzeugen und als Zeile benutzername:hash in die .htpasswd eintragen.
Wie lang ist ein Bcrypt-Hash?
Genau 60 Zeichen: 7 für Präfix und Kostenfaktor wie $2b$10$, 22 für das Salt und 31 für den eigentlichen Hash. In der Datenbank genügt deshalb eine Spalte mit CHAR(60).
Das könnte auch helfen
Hash-Generator
MD5, SHA-1, SHA-256, SHA-384 und SHA-512 für Text oder Datei berechnen und vergleichen.
ÖffnenHMAC-Generator
HMAC mit SHA-256, SHA-512, SHA-1 oder MD5 berechnen und Webhook-Signaturen prüfen.
ÖffnenPasswort-Generator
Sichere Zufallspasswörter mit wählbarer Länge und Zeichengruppen, inklusive Entropie in Bit.
ÖffnenPasswort-Stärke prüfen
Passwort testen: Entropie, typische Muster, häufige Passwörter und grobe Knackzeit.
ÖffnenPassphrase-Generator
Merkbare Passphrasen aus einer deutschen Wortliste mit über 2.000 Wörtern, nach Diceware-Art.
ÖffnenToken-Generator
Zufalls-Token als Hex, Base64URL oder alphanumerisch erzeugen, etwa für API-Keys und Secrets.
Öffnen