Bcrypt Hash Generator
Understand Bcrypt Hash Generator
Hasht ein Passwort mit einem einstellbaren Kostenfaktor in das $2b$-Format und prüft ein Passwort gegen einen hier erzeugten Hash.
How it works
Passwort-Hashing ist mit Absicht langsam. Der Kostenfaktor ist ein Exponent, jeder Schritt verdoppelt also den Aufwand: Kosten 12 kosten das Vierfache von Kosten 10, und ein Angreifer, der offline rät, erlebt dieselbe Verlangsamung. Pro Hash wird ein 16 Byte langes Zufalls-Salt erzeugt und in der Ausgabezeichenkette gespeichert, zwei Nutzer mit demselben Passwort erhalten also verschiedene Hashes, und eine einzelne vorberechnete Rainbow Table kann keine ganze Datenbank angreifen. Die Arbeit selbst ist der 2^Kosten-mal ausgeführte Blowfish-Schlüsselplan – dieses aufwendige Aufsetzen ist der ganze Sinn des Algorithmus und macht bcrypt widerstandsfähig gegen die GPU-Parallelität, die einen schnellen Hash wie SHA-256 hier zur schlechten Wahl macht.
When to use it
- Sehen, wie lange ein einzelner Hash bei jedem Kostenfaktor dauert, bevor Sie ihn im Produktivbetrieb anheben.
- Die Bestandteile einer $2b$-Zeichenkette lesen – Version, Kosten, Salt, Digest –, während Sie einem Login-Problem nachgehen.
- Nachvollziehen, warum ein gespeicherter Passwort-Hash sein eigenes Salt trägt statt eines gemeinsamen.
- Einen Wegwerf-Hash für eine lokale Fixture oder ein Seed-Skript erzeugen, wo der Wert kein echtes Zugangsgeheimnis ist.
Watch out for
- Die Kosten sind ein Exponent, kein Prozentwert. Der Sprung von 10 auf 14 macht jeden Login auch für Ihren Server sechzehnmal langsamer; heben Sie ihn also anhand gemessener Latenz auf Ihrer eigenen Hardware an und nicht auf eine irgendwo gelesene Zahl.
- Geben Sie niemals ein aktives Passwort zum Hashen in eine Webseite ein. Hashing gehört auf Ihren Server, wo der Klartext über TLS ankommt, nie dargestellt wird und nie in eine Logzeile oder ein Formularfeld gelangt.
- Den Kostenfaktor anzuheben verbessert die bereits gespeicherten Hashes nicht. Die Kosten sind in jede Zeichenkette eingebacken. Der übliche Weg ist, beim nächsten erfolgreichen Login dieser Person neu zu hashen – der einzige Moment, in dem Sie den Klartext berechtigterweise besitzen.
- bcrypt selbst ignoriert alles jenseits der ersten 72 Byte eines Passworts. Lange Passphrasen verlieren ihr Ende stillschweigend, was zählt, wenn Sie solche zulassen oder die Eingabe vor bcrypt vorhashen.
Not the right tool for: Den Hash zu erzeugen, den Sie im Produktivbetrieb speichern. Erzeugen Sie diesen in Ihrer Anwendung mit einer gepflegten Bibliothek – Argon2id ist in den OWASP-Empfehlungen zur Passwortspeicherung derzeit die erste Wahl, bcrypt mit Kosten 10 oder höher eine akzeptierte Alternative.
Frequently Asked Questions
Was ist Passwort-Hashing?
Passwort-Hashing wandelt ein Passwort mit einer Einwegfunktion in eine Zeichenkette fester Länge um (den Hash). Datenbanken speichern Hashes, keine Klartexte – fließt die Datenbank ab, können Angreifer die ursprünglichen Passwörter nicht lesen. bcrypt gilt als empfohlener Hash-Algorithmus, weil es absichtlich langsam ist und Brute-Force-Angriffe damit unpraktikabel werden.
Was ist ein Salt beim Passwort-Hashing?
Ein Salt ist ein Zufallswert, der dem Passwort vor dem Hashen hinzugefügt wird und jeden Hash selbst bei identischen Passwörtern eindeutig macht. bcrypt erzeugt automatisch ein 16 Byte langes Zufalls-Salt und bettet es in den ausgegebenen Hash ein. Ohne Salt können Angreifer mit vorberechneten Rainbow Tables mehrere Hashes auf einmal knacken.
Kann man einen bcrypt-Hash entschlüsseln?
Nein – bcrypt ist eine Einwegfunktion ohne Entschlüsselung. Um ein Passwort zu prüfen, lassen Sie bcrypt mit dem gespeicherten Salt über die Eingabe laufen und vergleichen das Ergebnis mit dem gespeicherten Hash. Stimmen sie überein, ist das Passwort korrekt. Durch diesen Aufbau kann selbst die entwickelnde Person das ursprüngliche Passwort nicht zurückholen.
How to Use Bcrypt Hash Generator
- Paste or type your input in the input area above.
- The tool processes your input automatically or click Run.
- Copy or download the result using the action buttons.
- Use Ctrl+Enter to run quickly from the keyboard.