Was ist Bcrypt?
Bcrypt ist eine Passwort-Hashing-Funktion, die 1999 von Niels Provos und David Mazières auf Basis der Blowfish-Chiffre entwickelt wurde. Es ist einer der am meisten empfohlenen Algorithmen zur sicheren Speicherung von Passwörtern. Im Gegensatz zu schnellen Hashing-Algorithmen wie MD5 oder SHA-256 ist Bcrypt bewusst langsam und rechenintensiv, was es resistent gegen Brute-Force- und Rainbow-Table-Angriffe macht.
Die entscheidende Neuerung von Bcrypt ist sein adaptiver Kostenfaktor. Mit zunehmender Rechenleistung kann der Kostenfaktor erhöht werden, um die Resistenz gegen Angriffe aufrechtzuerhalten.
Wie Bcrypt funktioniert
Bcrypt integriert mehrere Sicherheitsmechanismen:
Salz-Generierung. Bcrypt generiert automatisch ein zufälliges 16-Byte-Salz für jedes Passwort. Dadurch erzeugen identische Passwörter unterschiedliche Hashes.
Kostenfaktor. Der Kostenfaktor bestimmt, wie viele Iterationen der Schlüsselableitungsfunktion durchgeführt werden. Ein Kostenfaktor von 10 bedeutet 2^10 = 1.024 Iterationen.
Blowfish-Integration. Bcrypt nutzt den Blowfish-Chiffre für das Hashing, was erheblichen Speicher und Rechenleistung erfordert.
Ein Bcrypt-Hash sieht typischerweise so aus:
$2b$10$3euPcmQFCiblsZeEu5s7p.9vHnhJ3X7e3Qh7vA7z6YnF5qX5Q5aK
Warum Bcrypt empfohlen wird
Adaptive Schwierigkeit. Erhöhen Sie den Kostenfaktor mit wachsender Rechenleistung.
Integriertes Salzing. Keine separate Salzverwaltung erforderlich.
Weit verbreitet. Bcrypt ist in praktisch jeder Programmiersprache verfügbar.
Umfassend geprüft. Zwei Jahrzehnte Kryptanalyse haben keine praktischen Schwachstellen gefunden.
Bcrypt Best Practices
- Verwenden Sie einen Kostenfaktor von 10-12.
- Immer die neueste Revision verwenden (
$2b$statt$2a$). - Bcrypt nie selbst implementieren. Verwenden Sie geprüfte Bibliotheken.
- Mit HTTPS kombinieren.
Bcrypt-Hashes online generieren
Unser kostenloser Bcrypt Generator ermöglicht es Ihnen, Passwörter mit konfigurierbarem Kostenfaktor sofort zu hashen — perfekt für Entwickler, die Testdatenbanken einrichten oder Implementierungen überprüfen.