bcrypt-Hash-Generator
Hash generieren
Höher = langsamer & sicherer. 12 ist ein guter Standard.
Gelegentlich haben Sie einen bcrypt-Hash aus einem alten Backup und ein Klartext-Passwort, und Sie müssen wissen, ob sie übereinstimmen. Oder Sie haben ein Passwort und möchten den Hash, den ein gegebener Kostenfaktor erzeugen würde. Dieses Tool macht beides: Geben Sie ein Passwort ein, und es generiert einen neuen Hash, fügen Sie einen Hash und einen Kandidaten ein, und es sagt Ihnen, ob die Überprüfung erfolgreich ist — unter Verwendung des gleichen konstanten Zeitvergleichs wie bei einer Produktionsanmeldung.
bcrypt generieren oder überprüfen
-
1
Wählen Sie einen Modus
Generieren Sie einen neuen Hash aus einem Passwort oder überprüfen Sie ein Passwort gegen einen vorhandenen `$2a$` / `$2b$` / `$2y$` Hash.
-
2
Zum Generieren: Klartext und Kosten eingeben
Kosten 4-14; 10-12 ist normal. Ein 16-Byte zufälliges Salt wird für jeden Hash erstellt.
-
3
Zum Überprüfen: Hash und Klartext einfügen
Das Tool extrahiert das Salt und die Kosten aus dem Hash und hasht den Klartext mit den gleichen Parametern erneut.
-
4
Lesen Sie das Ergebnis
Der Generierungsmodus kopiert den 60-Zeichen-Hash; der Überprüfungsmodus gibt eine grüne Übereinstimmung oder eine rote Nichtübereinstimmung zurück.
Interna des Überprüfungsmodus
Gegeben ist ein gespeicherter Hash wie:
$2b$12$mE2n5YqWjKqT9tXg.OQPoeeHZJ9hdSvOt5wFdRRQwl6yE1vWWY3z6
Der Verifier:
- Analysiert Version (
2b), Kosten (12), Salt (erste 22 Zeichen nach den Kosten) und Digest (letzte 31 Zeichen). - Führt bcrypt erneut auf dem Kandidaten-Klartext mit dem extrahierten Salt und den Kosten aus.
- Vergleicht das resultierende Digest mit dem Original unter Verwendung eines konstanten Zeitvergleichs.
Ein erfolgreicher Vergleich ergibt true; jede Abweichung ergibt false.
Konstanter Zeitvergleich
Der Vergleich von zwei Strings mit einem naiven == gibt sofort zurück, sobald ein Byte abweicht — ein Timing-Seitenkanal, der den Hash Zeichen für Zeichen über genügend Proben leaken kann. Produktionspasswortprüfungen (und dieses Tool) verwenden einen konstanten Zeitvergleich, der immer jedes Byte untersucht, sodass die Entscheidungszeit nicht davon abhängt, wie viele führende Bytes übereinstimmen.
Häufige Diagnosefälle
| Symptom | Wahrscheinliche Ursache |
|---|---|
| Überprüfung schlägt fehl, Sie sind sich des Passworts sicher | Nachfolgende Leerzeichen oder BOM im Eingabewert. Beides entfernen. |
Überprüfung schlägt fehl, Version 2y |
Einige Bibliotheken mögen 2y nicht; es ist gültig und kompatibel. Neu hashen mit 2b in Zukunft. |
| Hash zu kurz / fehlerhaft | Kein bcrypt-Hash. MD5 hat 32 Hex-Zeichen, SHA-1 hat 40, bcrypt hat 60 mit $-Trennzeichen. |
| Kostenabweichungswarnung | Gespeicherte Kosten liegen unter Ihrem Richtlinienminimum. Neu hashen bei der nächsten erfolgreichen Anmeldung. |
Neu-Hashen bei der Anmeldung
Best Practice: Wenn ein Benutzer sich erfolgreich anmeldet, überprüfen Sie, ob der gespeicherte Hash eine niedrigere Kosten hat als Ihre aktuelle Richtlinie. Wenn ja, hashen Sie das Passwort zu den neuen Kosten neu und aktualisieren Sie die Datenbank. Innerhalb weniger Monate aktualisieren Sie die gesamte Benutzerbasis, ohne dass jemand sein Passwort ändern muss.
Was das Tool nicht tut
- Massenüberprüfung — Entwickelt für einen Hash zur Zeit.
- Knacken oder Brute Force — Wörterbuch- oder Regenbogentabellenangriffe sind absichtlich nicht im Umfang.
- Klartext abrufen — bcrypt ist einseitig; wenn Sie das Passwort vergessen haben, ist der einzige Weg zurücksetzen.
Häufig gestellte Fragen
Nein. Das Hashing und die Überprüfung erfolgen in Ihrem Browser. Weder der Klartext noch der Hash verlassen die Seite.
Das Salt wird für jeden Hash zufällig generiert. Das ist der ganze Punkt — zwei Benutzer mit demselben Passwort erhalten unterschiedliche Hashes, was Regenbogentabellen überwindet.
Ja, genau das macht der Überprüfungsmodus: Fügen Sie den Hash ein, den Sie haben, fügen Sie ein Kandidatenpasswort ein, das Tool bestätigt oder verweigert eine Übereinstimmung.
Ja. Alle modernen Varianten interagieren — das Digest ist über Versionen hinweg kompatibel; nur das Tag unterscheidet sich. Einige alte $2$-Hashes aus Systemen der 2000er Jahre benötigen möglicherweise eine Bibliothek mit expliziter Unterstützung für ältere Versionen.
Verwandte Tools
AES Verschlüsseln / Entschlüsseln
Verschlüsseln und entschlüsseln Sie risikoarmen Text mit AES-OpenSSL-Chiffren. Das Passwort wird mit SHA-256 gehasht, die Base64-Ausgabe enthält IV plus Chiffretext.
A1Z26-Code-Encoder
Text mit dem A1Z26-Code (A=1, B=2, ... Z=26) codieren oder eine Zahlenfolge zurück in Buchstaben decodieren, mit anpassbarem Trennzeichen.
bcrypt-Generator
Generieren Sie einen bcrypt-Hash aus einem Klartextpasswort. Anpassbarer Kostenfaktor von 4 bis 14, kompatibel mit Laravel, Django, Node und PHP.
Base85-Encoder/Decoder
Kodieren und dekodieren Sie Base85 in Adobe Ascii85 (PostScript/PDF) oder Z85 (ZeroMQ) Varianten. Kompakter als Base64 für Binärdaten.
Atbash-Chiffre-Encoder
Kodieren oder dekodieren Sie Text mit der Atbash-Chiffre, einer hebräischen Substitution, die A-Z auf Z-A abbildet. Dieselbe Operation verschlüsselt und entschlüsselt.
Base32-Encoder/Decoder
Base32-Strings mit dem RFC 4648-Alphabet kodieren und dekodieren. Nützlich für TOTP-Geheimnisse, groß-/kleinschreibungsunempfindliche Tokens und von Menschen eingegebene Identifikatoren.