bcrypt ist ein Hash-Algorithmus, der speziell für die Speicherung von Passwörtern entwickelt wurde. Er enthält ein Salt und steuert die Berechnungskosten über den Cost-Faktor. Mit jeder Erhöhung von Cost um 1 verdoppelt sich die Berechnungszeit ungefähr, sodass die Kosten von Brute-Force-Angriffen mit der Weiterentwicklung der Hardware steigen können. Dieses Tool kombiniert Erzeugen, Prüfen und Analysieren auf einer Seite und wechselt zwischen den Funktionen über Tabs.
Passwort eingeben und Cost auswählen, um einen Hash zu erzeugen. Cost bietet Stufen von 4 bis 15, gruppiert nach Test, niedrigem Aufwand, empfohlenem Bereich und hohem Aufwand; Standard ist 12. Das Passwortfeld kann ein- oder ausgeblendet werden. Außerdem kann über den sicheren Zufallszahlengenerator des Browsers ein zufälliges Passwort ausschließlich zum Testen von Parametern erzeugt werden. Das Ergebnis ist eine standardisierte bcrypt-Zeichenfolge und kann direkt kopiert werden.
Vorhandenen bcrypt-Hash aus der Datenbank zusammen mit dem zu prüfenden Passwort eingeben. Das Tool liest Version und Cost aus dem Hash, berechnet den Hash erneut und vergleicht die Ergebnisse. Es zeigt an, ob das Passwort übereinstimmt, ohne einen neuen Hash zu erzeugen. Die Versionen 2a, 2b und 2y werden unterstützt; 2y ist im PHP-Ökosystem verbreitet, während 2b die heute gängige Implementierung ist.
Der Analysemodus kann aus einem bcrypt-Hash Versionskennung, Cost-Wert, 22 Zeichen Salt und 31 Zeichen Hash-Körper auslesen. Damit lässt sich die Stärke der in historischen Daten verwendeten Parameter prüfen. Bei einem ungültigen Format wird die Ursache eindeutig genannt: Präfix nicht 2a, 2b oder 2y, Hash-Körper kürzer als 53 Zeichen oder Cost außerhalb des gültigen Bereichs von 4 bis 31.
Das Tool enthält einen Benchmark, der mit dem aktuellen Cost mehrere Berechnungen nacheinander ausführt und durchschnittliche, schnellste und langsamste Dauer anzeigt. Zusätzlich werden Empfehlungen zur Erhöhung oder Verringerung des Parameters anhand eines üblichen Bereichs von etwa 100 bis 250 Millisekunden pro Berechnung gegeben. Die Benchmarkwerte gelten nur für das aktuelle Gerät und den aktuellen Browser; die tatsächliche Serverleistung muss in der Zielumgebung gemessen werden.
Alle Berechnungen erfolgen lokal über die WebAssembly-Engine des Browsers. Passwörter und Hashes werden weder an den Server übertragen noch gespeichert. Als Passwort-Tool bietet diese Seite bewusst keine serverseitige Fallback-Berechnung. Auch wenn die lokale Engine nicht verfügbar ist, wird lediglich ein Fehler angezeigt und das Passwort verlässt den Browser nicht.
Kommentare 0