Bcrypt Generator – Passwort-Hashes erstellen und prüfen

Erstellen Sie Bcrypt-Hashes mit frei wählbarem Cost-Faktor und prüfen Sie bestehende Hashes. Komplett lokal in Ihrem Browser – Ihre Eingaben verlassen nie Ihr Gerät.

Bcrypt-Hash generieren

1

Text oder Passwort eingeben

0 Bytes
2

Cost-Faktor wählen

12 Cost-Faktor (212 = 4.096 Runden)
4 (schnell, unsicher) 18 (langsam, sehr sicher)
Absolute Vertraulichkeit: Hashes werden ausschließlich auf Ihrem Gerät berechnet. Es werden keine Daten an unsere Server gesendet oder gespeichert.

Bcrypt-Hash prüfen

Prüfen Sie, ob ein Klartext zu einem vorhandenen Bcrypt-Hash passt – z.B. zum Testen Ihrer Anwendung.

Bcrypt Generator: Passwort-Hashes erstellen und prüfen auf Knopfdruck

Mit unserem kostenlosen Bcrypt Generator erstellen Sie in Sekunden sichere Bcrypt-Hashes mit frei wählbarem Cost-Faktor – und prüfen umgekehrt, ob ein Klartext zu einem vorhandenen Hash passt. Die gesamte Berechnung erfolgt mit der JavaScript-Bibliothek bcryptjs direkt in Ihrem Browser – vollständig lokal, ohne Datenübertragung an einen Server.

Ob Sie als Entwickler ein Test-Passwort für Ihre Datenbank-Seeds benötigen, einen Admin-Zugang zurücksetzen, eine .htpasswd-Datei pflegen oder einfach verstehen möchten, wie Passwort-Hashing funktioniert: Unser Bcrypt Generator liefert Ihnen per Klick standardkonforme Hashes, die mit PHP, Node.js, Python, Java und allen gängigen Bcrypt-Implementierungen kompatibel sind.

Was ist Bcrypt?

Bcrypt ist eine Passwort-Hash-Funktion, die 1999 von Niels Provos und David Mazières für das Betriebssystem OpenBSD entwickelt wurde. Sie basiert auf dem Blowfish-Verschlüsselungsalgorithmus und wurde gezielt für einen einzigen Zweck entworfen: Passwörter so zu speichern, dass sie selbst bei einem Datenbankleck nicht ohne enormen Aufwand rekonstruiert werden können.

Die zentrale Idee von Bcrypt ist der adaptive Cost-Faktor: Während Hardware über die Jahre immer schneller wird, lässt sich der Rechenaufwand von Bcrypt einfach mitskalieren. Ein höherer Cost-Faktor verdoppelt mit jedem Schritt die Anzahl der internen Runden – und damit die Zeit, die ein Angreifer für jeden einzelnen Rateversuch aufwenden muss. So bleibt Bcrypt auch über 25 Jahre nach seiner Veröffentlichung ein verlässlicher Standard.

Warum Bcrypt statt MD5 oder SHA-256?

Allzweck-Hashfunktionen wie MD5 oder SHA-256 wurden für Geschwindigkeit entworfen – genau das macht sie für Passwörter ungeeignet. Eine moderne Grafikkarte berechnet zig Milliarden MD5-Hashes pro Sekunde und probiert damit ganze Wörterbücher in Sekundenbruchteilen durch. Bcrypt hingegen ist absichtlich langsam und reduziert die Rate eines Angreifers auf wenige tausend Versuche pro Sekunde – ein Unterschied von mehreren Größenordnungen.

Dazu kommen zwei weitere entscheidende Vorteile:

  • Integrierter Salt: Bcrypt generiert für jeden Hash automatisch einen zufälligen Salt und speichert ihn im Hash mit. Rainbow-Table-Angriffe mit vorberechneten Hashes laufen dadurch ins Leere – und identische Passwörter erzeugen unterschiedliche Hashes.
  • GPU-Resistenz: Der speicherintensive interne Aufbau von Bcrypt lässt sich auf Grafikkarten deutlich schlechter parallelisieren als simple Hashfunktionen wie MD5 oder SHA.
  • Zukunftssicherheit: Steigt die Rechenleistung, erhöhen Sie einfach den Cost-Faktor – ohne den Algorithmus wechseln zu müssen.

Aufbau eines Bcrypt-Hashes

Ein Bcrypt-Hash ist immer exakt 60 Zeichen lang und folgt einem festen Schema, zum Beispiel $2b$12$R9h/cIPz0gi.URNNX3kh2OPST9/PgBkqquzi.Ss7KIUgO2t0jWMUW:

  • $2b$ – Algorithmus-Version: Kennzeichnet die Bcrypt-Revision. $2a$ ist die ursprüngliche Variante, $2y$ die PHP-Revision nach einem Bugfix 2011, $2b$ die aktuelle OpenBSD-Revision. Alle sind in der Praxis kompatibel.
  • 12$ – Cost-Faktor: Die Anzahl der Runden als Zweierpotenz: 212 = 4.096 Iterationen.
  • Salt – die nächsten 22 Zeichen: Der zufällig generierte Salt in Bcrypt-Base64-Kodierung.
  • Hash – die letzten 31 Zeichen: Der eigentliche Hashwert aus Passwort, Salt und Cost-Faktor.

Weil Salt und Cost-Faktor im Hash enthalten sind, braucht eine Anwendung zum Prüfen eines Passworts keine zusätzlichen Informationen – der Hash ist vollständig selbstbeschreibend.

Der Cost-Faktor: Sicherheit vs. Performance

Der Cost-Faktor (auch Work Factor oder Rounds genannt) bestimmt, wie rechenintensiv das Hashing ist: Bei Cost 12 durchläuft Bcrypt 212 = 4.096 interne Runden, bei Cost 13 sind es bereits 8.192. Jeder Schritt verdoppelt also die Rechenzeit – für Sie wie für jeden Angreifer.

Als Faustregel für den Produktiveinsatz gilt: Wählen Sie den höchsten Cost-Faktor, bei dem ein Hash auf Ihrer Server-Hardware noch in etwa 100 bis 500 Millisekunden berechnet wird. Für aktuelle Hardware bedeutet das Cost 12 als empfohlenes Minimum; sicherheitskritische Systeme verwenden 13 oder 14. Werte unter 10 gelten heute als unzureichend. Mit unserem Bcrypt Generator können Sie verschiedene Cost-Faktoren direkt ausprobieren und die Rechenzeit live in Ihrem Browser beobachten.

Bcrypt in der Praxis: Code-Beispiele

Die mit unserem Generator erstellten Hashes sind vollständig kompatibel mit allen verbreiteten Bcrypt-Implementierungen. So nutzen Sie Bcrypt in Ihrer eigenen Anwendung:

PHP

// Hash erstellen (Bcrypt ist der Standard-Algorithmus)
$hash = password_hash($passwort, PASSWORD_BCRYPT, ['cost' => 12]);

// Passwort prüfen
if (password_verify($passwort, $hash)) {
    // Login erfolgreich
}

// Prüfen, ob der Hash ein Upgrade braucht (z.B. höherer Cost-Faktor)
if (password_needs_rehash($hash, PASSWORD_BCRYPT, ['cost' => 12])) {
    $hash = password_hash($passwort, PASSWORD_BCRYPT, ['cost' => 12]);
}

Node.js (bcryptjs)

import bcrypt from 'bcryptjs';

// Hash erstellen
const hash = await bcrypt.hash(passwort, 12);

// Passwort prüfen
const istKorrekt = await bcrypt.compare(passwort, hash);

Python (bcrypt)

import bcrypt

# Hash erstellen
hash = bcrypt.hashpw(passwort.encode(), bcrypt.gensalt(rounds=12))

# Passwort prüfen
ist_korrekt = bcrypt.checkpw(passwort.encode(), hash)

Niemals Klartext speichern

Speichern Sie Passwörter ausschließlich als Hash in der Datenbank. Selbst bei einem Datenleck bleiben die eigentlichen Passwörter Ihrer Nutzer so geschützt.

Cost-Faktor regelmäßig erhöhen

Hardware wird schneller – prüfen Sie beim Login mit password_needs_rehash(), ob der Hash noch dem aktuellen Cost-Faktor entspricht, und rehashen Sie bei Bedarf.

72-Byte-Limit beachten

Bcrypt verarbeitet nur die ersten 72 Bytes. Bei sehr langen Passphrasen oder Mehrbyte-Zeichen (Umlaute, Emojis) sollten Sie das Limit im Blick behalten.

Pepper als Ergänzung

Ein serverseitiger, geheimer Zusatzwert (Pepper) außerhalb der Datenbank erhöht die Sicherheit zusätzlich – etwa über HMAC vor dem Bcrypt-Hashing.

Typische Anwendungsfälle für den Bcrypt Generator

  • Entwicklung & Testing: Test-Hashes für Datenbank-Seeds, Fixtures und automatisierte Tests erzeugen
  • Admin-Zugänge: Passwort-Hash für einen neuen Benutzer direkt per SQL in die Datenbank einfügen
  • Debugging: Prüfen, ob ein gespeicherter Hash wirklich zum erwarteten Passwort passt
  • Migration: Hashes beim Umstieg von MD5/SHA auf Bcrypt vorab validieren
  • Lernen & Verstehen: Den Aufbau von Bcrypt-Hashes und die Wirkung des Cost-Faktors live nachvollziehen

Bcrypt-Hashes erstellen in drei Schritten

  • Eingeben: Tragen Sie das Passwort oder den Text ein, den Sie hashen möchten – die Byte-Anzeige warnt Sie beim 72-Byte-Limit.
  • Cost wählen: Stellen Sie den Cost-Faktor ein – wir empfehlen 12 oder höher für den Produktiveinsatz.
  • Generieren & prüfen: Erstellen Sie den Hash per Klick, kopieren Sie ihn in die Zwischenablage und verifizieren Sie ihn bei Bedarf direkt im Prüf-Bereich.

Häufig gestellte Fragen

Bcrypt ist eine Passwort-Hash-Funktion, die 1999 von Niels Provos und David Mazières auf Basis des Blowfish-Verschlüsselungsalgorithmus entwickelt wurde. Sie wandelt ein Passwort in eine 60 Zeichen lange, nicht umkehrbare Zeichenkette um. Das Besondere: Bcrypt ist absichtlich rechenintensiv und enthält einen automatisch generierten Salt – das macht es ideal für die sichere Speicherung von Passwörtern in Datenbanken.