Entwickler 🔒 Läuft im Browser — keine Daten werden gesendet

Bcrypt-Hash erzeugen und prüfen

Erstellen Sie einen bcrypt-Hash für ein Passwort oder testen Sie, ob ein Passwort zu einem gespeicherten Hash passt, ohne dass etwas Ihren Browser verlässt.

Eingabetext

Bcrypt-Hashes online erzeugen und prüfen

bcrypt ist ein Passwort-Hashverfahren, das absichtlich langsam ist. Ein allgemeiner Hash wie SHA-256 lässt sich milliardenfach pro Sekunde berechnen – genau das, was jemand will, der Passwörter aus einer geleakten Datenbank errät; bcrypt macht jeden Versuch teuer, und sein Kostenfaktor lässt diesen Aufwand mit schnellerer Hardware mitwachsen. Es ist der Standard in PHP, Laravel, Ruby on Rails, Spring Security und vielen anderen Frameworks.

Diese Seite öffnet den Reiter bcrypt des Hash-Generators. Typische Aufgaben: das erste Admin-Konto direkt in einer Datenbank anlegen, eine Test-Fixture schreiben oder herausfinden, warum sich ein Nutzer nicht anmelden kann.

Einen bcrypt-Hash lesen

Ein bcrypt-Hash hat immer 60 Zeichen und enthält alles, was man später zum Prüfen braucht. Nehmen Sie $2y$10$N9qo8uLOickgx2ZMRZoMye...:

TeilBedeutung
$2y$Versionspräfix
10Kostenfaktor: 2 hoch 10, also 1.024 Runden Schlüsselaufbau
Die nächsten 22 ZeichenDas zufällige Salt
Die letzten 31 ZeichenDer eigentliche Hash

Den Kostenfaktor wählen

Der Kostenfaktor lässt sich hier von 4 bis 14 einstellen. Jede Stufe verdoppelt den Aufwand, Kostenfaktor 12 ist also viermal langsamer als 10. Peilen Sie auf Ihrem eigenen Server eine Hash-Zeit von einem Bruchteil einer Sekunde an; das Werkzeug zeigt beim Rechnen seinen Fortschritt, was Ihnen ein Gefühl für den Unterschied gibt. Weil der Kostenfaktor im Hash gespeichert ist, können Sie ihn später erhöhen und jedes Passwort beim nächsten Login seines Besitzers neu hashen.

Die 72-Byte-Grenze

bcrypt liest nur die ersten 72 Byte eines Passworts. Eine längere Eingabe wird nicht abgelehnt, sondern stillschweigend abgeschnitten, sodass zwei lange Passwörter mit denselben ersten 72 Byte denselben Hash ergeben. Zeichen außerhalb des englischen Alphabets belegen in UTF-8 oft zwei bis vier Byte, die Grenze kommt also früher, als die Zeichenzahl vermuten lässt. Das Werkzeug zählt die Bytes beim Tippen und warnt, sobald Sie 72 überschreiten.

Einen Hash im Code prüfen

SpracheErzeugenPrüfen
PHPpassword_hash($pw, PASSWORD_BCRYPT)password_verify($pw, $hash)
Node.js (bcryptjs)bcrypt.hash(pw, 10)bcrypt.compare(pw, hash)
Python (bcrypt)bcrypt.hashpw(pw, bcrypt.gensalt())bcrypt.checkpw(pw, hashed)

Zufällige Passwörter zum Hashen liefert der Passwort-Generator. Für Dateiprüfsummen statt Passwörtern bleiben Sie bei SHA-256.

Passende Anleitungen