Bcrypt-Passwort Generator
Generieren Sie sofort sichere Bcrypt-Passwort-Hashes in Ihrem Browser. Wählen Sie Ihren Kostenfaktor und Hash-Passwörter clientseitig – völlig privat und kostenlos.
Generieren Sie sofort sichere Bcrypt-Passwort-Hashes in Ihrem Browser. Wählen Sie Ihren Kostenfaktor und Hash-Passwörter clientseitig – völlig privat und kostenlos.
bcrypt ist eine Passwort-Hashing-Funktion, die 1999 von Niels Provos und David Mazières entwickelt wurde und von der Blowfish-Verschlüsselung abgeleitet ist. Im Gegensatz zu Allzweck-Hash-Funktionen wie SHA-256 ist bcrypt bewusst langsam – und über einen Kostenparameter konfigurierbar langsam –, was genau die Eigenschaft ist, die ein Passwort-Hasher benötigt. Eine schnellere Hash-Funktion ermöglicht es Angreifern, mehr Kandidaten pro Sekunde brutal zu erzwingen; ein langsamerer begrenzt sie.
bcrypt integriert außerdem automatisch das Salt pro Passwort und eliminiert so eine ganze Klasse von Angriffen, die auf vorberechneten Rainbow-Tabellen basieren. Der Salt- und der Kostenparameter werden als Teil der bcrypt-Ausgabe gespeichert, sodass für die Verifizierung nur der gespeicherte Hash und das Kandidatenkennwort erforderlich sind – keine separate Salt-Verwaltung. Diese Kombination aus Langsamkeit, Salt und eigenständigem Format machte bcrypt zwei Jahrzehnte lang zum Standard-Passwort-Hash und ist heute eine gute Wahl.
Es gibt moderne Alternativen. Argon2 gewann den Passwort-Hashing-Wettbewerb 2015 und bietet zusätzlich zur Zeithärte auch Speicherhärte. scrypt bietet ähnliche Eigenschaften. Für neue Designs ist Argon2id die empfohlene Wahl. bcrypt bleibt akzeptabel und wird häufig eingesetzt, insbesondere in Umgebungen, in denen Argon2 nicht verfügbar ist.
Das Speichern von Passwörtern im Klartext ist ein Kunstfehler. Sie mit einem schnellen Hash wie SHA-256 zu speichern, ist kaum besser – moderne GPUs berechnen Milliarden von SHA-256-Hashes pro Sekunde, sodass Brute-Force-Angriffe gegen jedes gängige Passwort innerhalb von Stunden möglich sind. Die absichtliche Langsamkeit von bcrypt verschiebt die Wirtschaftlichkeit: Bei einem Kostenfaktor von 12 verbringt ein Angreifer etwa 250 ms pro Passwort-Kandidat, was Brute-Force für jedes nicht triviale Passwort unpraktisch macht.
Der automatische Passwort-Salt von bcrypt wehrt auch Rainbow-Table-Angriffe ab. Zwei Benutzer mit demselben Passwort erzeugen unterschiedliche Bcrypt-Hashes, da ihre Salts unterschiedlich sind. Die Kompromittierung der Passwortdatenbank ermöglicht es einem Angreifer nicht, gängige Passwörter oder vorberechnete Tabellentreffer schnell zu identifizieren.
Geben Sie ein Passwort ein, wählen Sie Kosten und erhalten Sie den Hash.
bcrypt verwendet die Schlüsseleinrichtungsphase einer modifizierten Blowfish-Verschlüsselung, die 2^cost-mal wiederholt wird. Der Kostenfaktor ist logarithmisch – Kosten 12 ist doppelt so langsam wie Kosten 11, viermal so langsam wie Kosten 10. Durch diese logarithmische Skalierung können Administratoren die Kosten im Laufe der Zeit bei verbesserter Hardware erhöhen, ohne das System neu entwerfen zu müssen.
Das Ausgabeformat ist $version$cost$saltAndHash, wobei saltAndHash mit einem benutzerdefinierten Alphabet base64-codiert ist. Die Version kostet normalerweise 2 Milliarden US-Dollar (die moderne Variante mit behobenem Wraparound-Fehler) oder 2 Jahre (PHP-spezifisch, Äquivalent). Das Salt ist 16 Bytes; der Hash ist 24 Bytes; Zusammen kodieren sie zu 53 Zeichen von custom-base64.
Die maximale Eingabelänge beträgt 72 Byte (Begrenzung der Blowfish-Schlüssellänge). Längere Passwörter werden stillschweigend gekürzt, was eine seit langem bekannte Eigenart von bcrypt ist. Die beste Vorgehensweise besteht darin, die Passwortlänge entweder auf 72 Byte zu begrenzen oder einen Pre-Hash mit SHA-256 durchzuführen, um die Länge vor bcrypt zu normalisieren.