BCrypt-Hash-Prüfer | Passwort und Hash kostenlos sofort abgleichen

Prüfen Sie kostenlos und in Sekunden, ob ein Passwort zu einem BCrypt-Hash passt. Funktioniert wie PHPs password_verify() und eignet sich ideal zum Debuggen von Login-Problemen. Unterstützt $2a$ und $2b$.

Hash
Text

Übereinstimmung

Keine Übereinstimmung

Was ist eine BCrypt-Überprüfung?

Dieses Werkzeug prüft, ob ein eingegebenes Klartext-Passwort und ein vorhandener BCrypt-Hash aus derselben ursprünglichen Zeichenkette erzeugt wurden. Es arbeitet nach demselben Prinzip wie die PHP-Funktion password_verify() und eignet sich daher, um eine Anmeldeimplementierung zu bestätigen und Fehler darin zu suchen.

Ein BCrypt-Hash trägt sein Salt in sich, weshalb dieselbe Erzeugung aus demselben Passwort jedes Mal eine andere Zeichenkette liefert. Ein einfacher Zeichenkettenvergleich kann eine Übereinstimmung daher nicht feststellen: Das Salt muss vor dem Vergleich mit dem dafür vorgesehenen Verfahren herausgelöst werden, und diesen Schritt übernimmt dieses Werkzeug für Sie.

So verwenden Sie die BCrypt-Überprüfung

  1. Zeichenkette eingeben Tippen Sie das zu prüfende Klartext-Passwort in das Eingabefeld.
  2. Hash eingeben Fügen Sie einen BCrypt-Hash ein, der mit $2a$ oder $2b$ beginnt.
  3. Auf die Prüfen-Schaltfläche drücken Das Ergebnis – Übereinstimmung oder keine – erscheint auf der Stelle.

Tipps für die Nutzung

  • 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.

Wann die BCrypt-Überprüfung nützlich ist

Einen Anmeldeablauf debuggen

Prüfen Sie unmittelbar, ob ein in der Datenbank gespeicherter Hash zum erwarteten Passwort passt, ohne den Umweg über Ihren Anwendungscode.

Das Verhalten nach einem Passwortwechsel bestätigen

Testen Sie, ob ein aus einem neuen Passwort erzeugter Hash zum beabsichtigten Klartext passt.

Hashes bei einer Migration prüfen

Bestätigen Sie vorab, dass aus einem anderen System übernommene BCrypt-Hashes weiterhin funktionieren.

BCrypt-Glossar

Salt
Eine zufällige Zeichenkette, die beim Erzeugen des Hashes hinzugefügt wird. Sie sorgt dafür, dass dasselbe Passwort jedes Mal einen anderen Hash ergibt.
password_verify()
Die Standardfunktion von PHP, um ein Klartext-Passwort sicher mit einem Hash zu vergleichen. Sie löst das Salt intern automatisch heraus.
Timing-Angriff
Ein Angriff, der aus winzigen Unterschieden in der Verarbeitungszeit auf geheime Informationen schließt. Eine dafür vorgesehene Funktion, die in konstanter Zeit vergleicht, verhindert ihn.
$2a$ / $2b$
Die Präfixe, die die Version eines BCrypt-Hashes angeben. $2b$ ist die Version, die einen Fehler einer älteren Umsetzung behoben hat, und wird heute empfohlen.

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.
Tool-kun

Ü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.