Was das Tool macht
bcrypt ist eine Passwort-Hashfunktion, die absichtlich langsam ist. Anders als MD5 oder SHA-256, die sich milliardenfach pro Sekunde berechnen lassen, hat bcrypt einstellbare Kosten, die jeden Rateversuch für einen Angreifer mit gestohlener Datenbank teuer machen. Neben Argon2 und scrypt ist es weiterhin eine der verbreitetsten Methoden zum Speichern von Passwörtern.
Dieses Tool kann zweierlei:
- Hashen: ein Passwort mit den gewählten Kosten und dem Versionspräfix in einen bcrypt-Hash umwandeln.
- Prüfen: feststellen, ob ein Passwort zu einem vorhandenen bcrypt-Hash passt, etwa aus Ihrer Datenbank oder der Seed-Datei eines Frameworks.
So funktioniert es
- Geben Sie ein Passwort ein oder klicken Sie auf Beispiel.
- Wählen Sie im Modus Hashen die Kosten und die Version. Der Hash erscheint sofort; mit Neues Salt erhalten Sie einen anderen.
- Fügen Sie im Modus Prüfen den Zu prüfenden bcrypt-Hash ein. Das Ergebnis zeigt, ob das Passwort passt.
Einen bcrypt-Hash lesen
Ein Hash wie $2b$10$./3kakECWB0QfIgYzIqciuv449HNnwGbgExtJQQwQ1MofonthOdoK besteht aus vier Teilen: der Version 2b, den Kosten 10 (2¹⁰ Runden Schlüsselaufbau), einem 22 Zeichen langen Salt und einer 31 Zeichen langen Prüfsumme. Alles, was ein Server später zum Prüfen braucht, steckt in diesem einen String, daher speichern Sie nur den Hash.
Wichtige Grenzen
bcrypt liest nur die ersten 72 Bytes eines Passworts. Längere Passwörter oder solche mit vielen Nicht-ASCII-Zeichen (jedes belegt in UTF-8 2–4 Bytes) werden stillschweigend gekürzt. Das Tool warnt Sie in diesem Fall. Wenn Sie sehr lange Passphrasen akzeptieren müssen, hashen Sie sie vorher oder erwägen Sie Argon2id.
FAQ
› Warum erhalte ich für dasselbe Passwort jedes Mal einen anderen Hash?
Jeder Hash verwendet ein neues zufälliges 16-Byte-Salt, das im Hash selbst gespeichert wird. Das ist gewollt, damit gleiche Passwörter keine gleichen Hashes ergeben. Um ein Passwort zu prüfen, verwenden Sie Prüfen statt Hash-Strings zu vergleichen.
› Welche Kosten sollte ich wählen?
Wählen Sie die höchsten Kosten, die sich Ihr Server pro Anmeldung leisten kann, heute meist 10 bis 12. Jede Stufe verdoppelt den Aufwand. Messen Sie auf Ihrer Produktionshardware; 100–300 ms pro Hash sind ein übliches Ziel.
› Was ist der Unterschied zwischen $2a$, $2b$ und $2y$?
Es ist derselbe Algorithmus. $2b$ ist das aktuelle Präfix von OpenBSD, $2y$ schreibt PHPs password_hash, und $2a$ ist das ältere. Die meisten Bibliotheken akzeptieren alle drei, wählen Sie also das, was Ihr System erwartet.
› Wird mein Passwort irgendwohin gesendet?
Nein. Hashen und Prüfen laufen in Ihrem Browser. Das Passwort und der geprüfte Hash liegen nur im Speicher dieser Seite; sie werden weder gespeichert noch in Teilen-Links aufgenommen.