2017-04-25 4 views
0

Ich habe vor Jahren ein Java (Spring) -Framework für Hash-Passwörter und speichern Sie sie in einer Datenbank. Aber ich kann mich nicht an den Namen erinnern.Multi-Algorithmus-Passwort-Hash-Struktur für die Persistenz der Datenbank

Der Vorteil war, dass sie den Hash-Wert mit Salz usw. gespeichert, sondern auch die Information über den verwendeten Algorithmus und und die Konfiguration wie {'alg':'bcrypt', { 'salt':'dsjhjdsfh', 'iter':'356178372', ..}, 'hash':'ju3j7HJghkdfk'}

war es möglich, also den Algorithmus zu ändern, so dass nicht nur taten neue Passwörter verwendeten sie automatisch, altes Passwort konnte automatisch mit dem alten Algorithmus verifiziert werden, aber nach erfolgreicher Validierung wurden sie mit dem neuen Algorithmus aktualisiert.

Ist dieses Framework noch vorhanden, weil ich wirklich hart gesucht habe, aber kein Glück hatte.

Antwort

1

Aktuelle Implementierungen von BCrypt existieren auf diese Weise. Obwohl sie nicht in einer Klartext-JSON-ähnlichen Struktur gespeichert sind, können Sie immer noch den Algorithmus oder die Anzahl der Runden ändern und die alten Hashes können immer noch korrekt verifizieren.

Sehen Sie sich particular answer an, um zu sehen, wie ein BCrypt-Hash generiert wird und die damit verbundenen Metadaten als einzelne Zeichenfolge gespeichert werden.

Es ist bereits in Spring framework oder Sie können es auch als separate library erhalten. Die Verwendung ist auch sehr einfach.

+0

Danke, das ist gut zu wissen. Soweit ich verstehe, ist BCrypt der Stand der Technik. Es gab auch PBKDF2 und ist SCrypt und ich habe von Argon2 gehört. Also, was ich im Sinn habe, ist ein Framework, das sich darum schlingt, weil es wahrscheinlich ein besseres gibt. Die bcrypt-Struktur ist also gut und großartig für bcrypt, aber wenn du zu einer anderen migrieren willst, bist du wieder verloren. Aber vielleicht ist dieser Rahmen weg. –

Verwandte Themen