BCrypt-Berechnung
Berechnet den BCrypt-Hash eines Textes im Browser. Der Text wird nicht an den Server gesendet.
| Text | |
|---|---|
| Runden |
※Der Hash wird in Ihrem Browser berechnet. Weder der eingegebene Text noch der berechnete Hash werden an den Server gesendet.
Was ein BCrypt-Hash ist
BCrypt ist ein Hash-Verfahren, das eigens für das Speichern von Passwörtern entworfen wurde. Anders als schnelle Hash-Funktionen wie SHA-256 ist sein entscheidendes Merkmal, dass die Berechnung bewusst schwer gemacht wird – das drosselt physisch das Tempo, in dem ein Angreifer große Mengen an Kandidaten durchprobieren kann. Mit diesem Werkzeug geben Sie eine beliebige Zeichenkette und eine Rundenzahl an und erzeugen auf der Stelle einen echten BCrypt-Hash.
Die Berechnung erledigt vollständig das JavaScript in Ihrem Browser, weder die eingetippte Zeichenkette noch der entstehende Hash wird an einen Server gesendet. Wollen Sie einen erzeugten Hash allerdings als Produktivpasswort verwenden, legen Sie die Rundenzahl noch einmal passend zur Leistung des Servers fest, auf dem Sie tatsächlich betreiben. Eine Einstellung, die sich auf dem Gerät vor Ihnen angenehm anfühlt, ist nicht zwangsläufig eine vertretbare Antwortzeit im Produktivbetrieb.
So berechnen Sie einen BCrypt-Hash
- Zu hashende Zeichenkette eingeben Tippen Sie das Passwort oder ein anderes Ziel in das Feld für die Zeichenkette. Ihre Eingabe verlässt den Browser nicht.
- Rundenzahl festlegen Die Rundenzahl heißt auch Kostenfaktor, und jeder Schritt nach oben verdoppelt die Rechenzeit ungefähr. Haben Sie keine besondere Anforderung, beginnen Sie mit 10.
- Berechnung ausführen Nach dem Druck auf die Schaltfläche erscheint der Hash-Wert. Je größer die Rundenzahl, desto länger warten Sie auf das Ergebnis.
- Aufbau des Ergebnisses ansehen Die Ausgabe fügt Algorithmus-Kennung, Rundenzahl, Salt und den Hash selbst zu einer Zeichenkette zusammen. Diese eine Zeichenkette zu speichern genügt für die spätere Prüfung.
Tipps für die Nutzung
- BCrypt fügt automatisch ein Salt hinzu, sodass dieselbe Eingabe bei jedem Hash-Vorgang einen anderen Wert erzeugt.
- Das Erhöhen der Rundenzahl (Kostenfaktor) steigert den Rechenaufwand und verbessert die Resistenz gegen Brute-Force-Angriffe. Ein Wert von 10–12 wird allgemein empfohlen.
- In PHP verwenden Sie
password_hash($password, PASSWORD_BCRYPT); in Ruby das Gembcrypt-ruby, um äquivalente Hashes zu erzeugen. - Das führende
$2y$im Hash-Wert ist der Algorithmus-Bezeichner; die darauf folgende Zahl ist die Rundenzahl. - Erwägen Sie auch das neuere Argon2 (verfügbar ab PHP 7.2) als weiteren geeigneten Algorithmus zur Passwortspeicherung. Probieren Sie es mit unserem Argon2-Hash-Rechner aus.
Wann das Berechnen eines BCrypt-Hashs nützt
Testnutzer während der Entwicklung anlegen
Wollen Sie ein Testkonto direkt in die Datenbank schreiben, bauen Sie hier den Hash zu einem beliebigen Passwort und fügen ihn ein. Das erspart Ihnen, die Anwendung überhaupt zu starten.
Ein Gefühl für Runden und Rechenzeit bekommen
Berechnen Sie dieselbe Zeichenkette und ändern Sie nur die Rundenzahl, dann sehen Sie die Zeit mit jedem Schritt tatsächlich verdoppeln. Das gibt Ihnen etwas Greifbares für die Wahl der Produktiveinstellung.
Die Einstellungen eines vorhandenen Hashs ablesen
Vergleichen Sie ihn mit einem Hash aus einem System, das Sie betreiben, und Sie erkennen, mit welcher Rundenzahl dieses System läuft.
Mit anderen Verfahren vergleichen
Berechnen Sie dieselbe Zeichenkette auch mit Argon2 und stellen Sie Ausgabeformate und Dauer nebeneinander – schon haben Sie eine Grundlage für die Wahl zwischen beiden.
Begriffe rund um BCrypt
- Salt
- Ein zufälliger Wert, der vor dem Hashen an die Zeichenkette angefügt wird. Da der gespeicherte Wert selbst beim gleichen Passwort abweicht, verhindert er das massenhafte Knacken mit einer vorberechneten Tabelle.
- Rundenzahl
- Auch Kostenfaktor genannt, legt diese Angabe fest, wie oft sich die Berechnung wiederholt. Jeder Schritt nach oben verdoppelt die benötigte Zeit ungefähr.
- Kostenfaktor
- Eine andere Bezeichnung für dasselbe wie die Rundenzahl. Sie drückt aus, wie weit Sie die Berechnung bewusst schwer machen, um das Tempo der Versuche eines Angreifers zu drosseln.
- Rainbow Table
- Eine vorbereitete Tabelle, die verbreitete Passwörter neben ihren Hash-Werten auflistet. Ist ein Salt angefügt, stimmen die Werte nicht mehr überein, und der Angriff läuft ins Leere.
- Algorithmus-Kennung
- Das Zeichen wie
$2y$am Anfang einer Hash-Zeichenkette. Wer den Hash prüft, erkennt daran, welches Verfahren ihn erzeugt hat. - Argon2
- Ein neueres Verfahren, das 2015 beim Password Hashing Competition ausgewählt wurde. Neben der Rechenzeit lässt sich auch der nötige Speicher angeben, was es widerstandsfähig gegen Angriffe mit eigens gebauter Hardware machen soll.
Häufige Fragen
password_verify() das eingebettete Salt aus dem gespeicherten Hash, um den Vergleich durchzuführen.password_verify() oder gleichwertigen Funktionen in anderen Sprachen verifiziert werden kann. Achten Sie nur auf den sorgfältigen Umgang mit sensiblen Eingaben.
Übrigens – Der Kampf zwischen Passwörtern und Hashes: Warum BCrypt gewählt wird
Beim LinkedIn-Datenleck 2012 wurden etwa 6,5 Millionen Passwörter nur mit SHA-1 ohne Salt gespeichert, und die meisten wurden innerhalb von Tagen durch Rainbow-Table-Angriffe geknackt. Dieser Vorfall war ein großer Weckruf für das Design der Passwortspeicherung.
Eine moderne Hochleistungs-GPU (z. B. NVIDIA RTX 4090) kann MD5 etwa 68 Milliarden Mal pro Sekunde berechnen. BCrypt ist absichtlich so konzipiert, dass es rechenintensiv ist — bei 12 Runden ist es auf wenige tausend Berechnungen pro Sekunde begrenzt — was ihm eine deutlich höhere Resistenz gegen Brute-Force-Angriffe verleiht. Mit derselben Hardware könnten Sie 68 Milliarden MD5-Versuche pro Sekunde unternehmen, aber nur wenige tausend BCrypt-Versuche. Dieser Unterschied ist entscheidend.
BCrypt wurde ursprünglich 1999 für OpenBSD entwickelt. Mehr als 20 Jahre später ist es noch immer im aktiven Einsatz und ist zusammen mit dem neueren Argon2 (verfügbar ab PHP 7.2) eine der Standardoptionen für die Passwortspeicherung.