Bcrypt Generator

Bcrypt Generator

Kostenloser Bcrypt-Hash-Generator — 100% clientseitig. Echtzeit-Benchmark des Kostenfaktors, Hash-Parser und Code-Snippets für Node.js, Python, PHP, Go.

Aktualisiert Juni 2026

Geprüft von Rafael Duarte

Keine Netzwerkaktivität — 100% im Browser
CLIENTSEITIG SICHER
12
4 — nur Tests Standard ist 12 (OWASP). Höher = sicherer, aber langsamer. 18 — sehr langsam

Lokaler Benchmark

Verarbeitungszeit auf Ihrer aktuellen Hardware

Cost 8
—
Cost 10
—
Cost 12
—
Cost 14
—

Implementierungs-Snippets

const bcrypt = require('bcryptjs');
const SALT_ROUNDS = 12; // OWASP recommended

async function hashPassword(plaintext) {
  return await bcrypt.hash(plaintext, SALT_ROUNDS);
}

async function verifyPassword(plaintext, hash) {
  return await bcrypt.compare(plaintext, hash);
}

const hash = await hashPassword('user_password');
// '$2b$12$...' (60 chars, always different due to random salt)

const isValid = await verifyPassword('user_password', hash);
// true

So funktioniert's

Der Hash steht in weniger als fünf Sekunden

1. Passwort einfügen

Das Badge "CLIENT-SIDE SECURE" zeigt an, dass beim Tippen keine einzige Netzwerkanfrage rausgeht.

2. Cost-Faktor einstellen

Regler von 4 bis 18 — Cost 12 ist der von OWASP empfohlene Standardwert für Produktivsysteme.

3. Hash erzeugen und kopieren

Der fertige Hash erscheint zusammen mit der exakten Rechenzeit auf deiner Hardware — ein Klick kopiert ihn.

Was dieses Tool kann

Mehr als nur Hashes erzeugen

Bestehenden Hash prüfen

Im Tab Verify Hash vergleichst du ein Passwort mit einem bcrypt-Hash — grüner Haken oder rotes X in Millisekunden.

Cost-Faktor benchmarken

Misst die tatsächliche Rechenzeit auf deiner eigenen Hardware für jeden Cost-Wert.

Hash zerlegen

Füge einen beliebigen bcrypt-Hash ein und sieh Version, Cost, Salt und Checksumme einzeln aufgeschlüsselt.

Fertige Code-Snippets

Erzeugt den passenden Code für Node.js, Python, PHP, Go und weitere Sprachen.

100 % client-seitig mit bcryptjs

Kein Passwort verlässt den Browser — nachprüfbar im Network-Tab der DevTools.

Benchmark-Skript für den Server

Kopiere ein fertiges Skript (Node.js, Python, PHP, Ruby oder Go), das die Costs 10 bis 16 direkt auf deiner Produktionsmaschine testet — statt einer Browser-Schätzung.

Beispiele

Eingabe
bcrypt-Hash (Cost 12)
meinGeheimesPasswort
$2b$12$nOUIs5kJ7naTuTFkBy1veuK0kSxUFXfuaOKdOKf9xYT0KKIGSJwFa
meinGeheimesPasswort (erneut erzeugt)
$2b$12$aBcDeFgHiJkLmNoPqRsTuv... — anderer Salt, beide Hashes gültig
72 vs. 100 Zeichen 'a'
ergeben denselben Hash — Bytes nach dem 72. werden ignoriert
falsches Passwort vs. obiger Hash (Tab Verify)
false — rotes X, ohne zu verraten, welches Zeichen abweicht

Wann du das brauchst

Die häufigsten Anwendungsfälle unter Nutzern des Tools

Nutzer-Authentifizierung

Passwort vor dem Speichern hashen; bcrypt.compare() bestätigt beim Login den Match in konstanter Zeit.

Umstieg von einem schwachen Algorithmus

MD5- oder SHA-1-Hashes schrittweise bei jedem erfolgreichen Login auf bcrypt umstellen.

Cost-Faktor kalibrieren

Benchmark auf der Produktions-Hardware laufen lassen, um den höchsten Cost unterhalb der eigenen UX-Grenze zu finden.

Sicherheitsaudit

Bestehenden Hash einfügen, um Version, Cost sowie Salt- und Checksummen-Länge zu prüfen.

Vor dem Produktiveinsatz unbedingt prüfen

Cost 4–8 in Produktion

Läuft in unter 1ms durch — keine echte Bremse gegen Brute-Force. Cost 10 als Minimum, 12 als Standard verwenden.

Einen bereits gehashten Hash erneut hashen

Ergibt eine Zeichenkette, die sich nie wieder verifizieren lässt. Immer nur den ursprünglichen Klartext hashen.

72-Byte-Grenze

bcrypt schneidet die Eingabe stillschweigend ab — längere Passwörter brauchen einen Pre-Hash mit SHA-256 oder den Wechsel zu Argon2id.

Salt separat speichern

Unnötig — bcrypt bettet den Salt bereits in die 60 Zeichen des Hashes ein.

Umlaute oder Emoji nahe der Grenze

bcrypt zählt Bytes, nicht Zeichen — ein Emoji kann 4 Bytes belegen. Ein Passwort mit 60 Umlauten kann die 72-Byte-Grenze früher als erwartet reißen und wird stillschweigend gekürzt.

Hashes mit === statt compare() vergleichen

Ein direkter String-Vergleich bricht beim ersten abweichenden Byte ab und ermöglicht einen Timing-Angriff. Immer bcrypt.compare(), password_verify() oder ein Äquivalent in konstanter Zeit verwenden.

Warum hier hashen

Das gesamte Hashing läuft im Browser über bcryptjs, eine reine JavaScript-Implementierung — öffne die DevTools und der Network-Tab bleibt leer.

Der Benchmark misst die reale Rechenzeit auf deiner eigenen Hardware statt einer generischen Schätzung, und die Code-Snippets für acht Sprachen ersparen dir das manuelle Nachschlagen des Bibliotheksaufrufs.

Anders als ein generischer Hash-Rechner zerlegt dieses Tool den erzeugten Hash (Version, Cost, Salt, Checksumme) und liefert zusätzlich das Benchmark-Skript für den eigenen Produktionsserver — die Hardware, die später wirklich deine Nutzer authentifiziert.

bcrypt vs. Argon2id

Beide lösen Passwort-Hashing; die Wahl hängt vom Projekt ab

bcrypt
Argon2id
Aktuelle OWASP-Empfehlung
solide Alternative
erste Wahl
BSI-Empfehlung (TR-02102)
akzeptiert
empfohlen seit 2020
Resistent gegen GPU/ASIC (memory-hard)
nein
ja
Grenze für Passwortlänge
72 Bytes
keine
Breite Sprachunterstützung
ja
wachsend
Anpassbarer Cost-Faktor
ja
ja (Speicher + Zeit)

Häufig gestellte Fragen

OWASP empfiehlt Cost 12 als Ausgangspunkt, mit dem Ziel von rund 250ms pro Hash auf moderner Hardware. Nutze den Benchmark auf dieser Seite, um deinen eigenen Server zu messen, und wähle den höchsten Cost, der noch innerhalb deiner UX-Grenze (300ms–1s) bleibt.

Weiterführende Ressourcen

Verwandter Artikel

Salt, pepper, bcrypt e Argon2id: como proteger senhas de verdade

Verwandte Tools