BCrypt-Validierung

Überprüft, ob der Hash aus dem eingegebenen Text berechnet wurde.


Hash
Text

Übereinstimmung

Keine Übereinstimmung

Tips

  • BCrypt bettet das Salt in den Hash ein, sodass auch wenn der Hash-Wert jedes Mal unterschiedlich ist, er als Übereinstimmung gewertet wird, wenn er aus derselben ursprünglichen Eingabe erzeugt wurde.
  • Dieses Tool verifiziert mit demselben Mechanismus wie PHPs password_verify($password, $hash).
  • Beim Vergleich eines aus der Datenbank abgerufenen Hash-Werts mit einem eingegebenen Passwort verwenden Sie eine dedizierte Verifikationsfunktion anstelle eines einfachen String-Vergleichs (==), um Timing-Angriffe zu verhindern.
  • Hash-Werte, die mit $2a$ beginnen, können ebenfalls als BCrypt verifiziert werden.

Häufige Fragen

BCrypt bettet ein zufälliges Salt in den Hash selbst ein. Bei der Verifizierung wird das Salt aus dem Hash extrahiert und die Eingabe wird mit demselben Salt erneut gehasht und verglichen, sodass unterschiedlich aussehende Hashes trotzdem korrekt übereinstimmen können.

Beide sind kompatibel und dieses Tool kann beide verifizieren. $2b$ ist eine fehlerbereinigte Version der älteren Implementierung, und ihre Verwendung wird derzeit empfohlen.

Nein. BCrypt ist eine Einweg-Hashfunktion, und es ist rechnerisch nicht machbar, einen Hash zurück in das ursprüngliche Passwort umzukehren. Dieses Tool prüft nur, ob eine gegebene Eingabe mit einem Hash übereinstimmt — es kann den ursprünglichen Wert nicht wiederherstellen.
ツールくん

Übrigens – Hinter der Authentifizierung: Was sind diese wenigen Hundertstel-Sekunden beim Login

Wenn Sie den Login-Button in einem Webdienst drücken, ist ein Teil dieser wenigen Hundertstel-Sekunden vor dem Ergebnis die Zeit, die BCrypt für die Berechnung des Passwort-Hashes benötigt. Diese Verzögerung ist beabsichtigt — aus Sicherheitsgründen.

Ein Timing-Angriff ist eine Art von Seitenkanalangriff, bei dem ein Angreifer geheime Informationen durch Messung subtiler Unterschiede in der Verarbeitungszeit erschließt. Wenn ein Passwort mit einem einfachen String-Vergleich (==) verifiziert wird, variiert die Vergleichszeit leicht je nachdem, wo die Zeichen aufhören zu übereinstimmen. BCrypts Verifikationsfunktion ist so konzipiert, dass sie in konstanter Zeit läuft und damit gegen diesen Angriff sicher ist.

In realen Webanwendungen wird empfohlen, unabhängig davon, ob der Benutzer existiert oder nicht, in der gleichen Zeit zu antworten, als ob der Benutzer existieren würde, aber das Passwort falsch wäre. Wenn ein Angreifer "Benutzer existiert nicht" von "falsches Passwort" unterscheiden kann, gibt ihm das einen Hinweis zur Identifizierung gültiger Benutzernamen.