Was für Passwort-Hashing zu benutzen? Gibt es Gründe, nicht zu verwenden jBCrypt?
Frage
Ich plane jBCrypt für Passwort-Hashing in einer neuen Web-Anwendung, wie es soll das beste aus dem, was ich gelesen habe. Da ich es nicht benutzt haben, bevor ich bin auf der Suche in, wenn es irgendeinen Grund gibt es nicht zu benutzen.
Ich habe diese:
- Ich habe es nicht in der Maven-Repository (nach jbcrypt und bcrypt bei mvnrepository.org) gefunden, die ein Beruhigungsmittel ist, wie ich möchte meine Abhängigkeiten haben es geschafft, mit einem Maven-Repository, wenn möglich. Wenn jBCrypt die best of breed-Lösung für Passwort-Hashing ist würde ich die Einrichtung meiner eigenen lokalen Repository haben und es auf diese Weise zur Verfügung. Oder habe ich es verpasst gerade? Vielleicht in es ist irgendwo da?
- Es ist nur in der Version 0.2, aber vielleicht ist es stabil sowieso und der Grund für eine niedrige Versionsnummer hat eine andere Ursache?
Lösung
jBcrypt ist wahrscheinlich gut als Krypto-Algorithmus für Ihre Passwörter; Blowfish ist relativ stark. Zwar gibt es einige berichtete Umsetzung Mängel in Blowfish waren selbst, finde ich nichts viel über jBcrypt berichtet. Auf der anderen Seite hat Blowfish bei weitem nicht so stark wie andere Algorithmen haben, und ein
Andere Tipps
Soweit Ihre Sorge, dass es nicht reifen, ich würde vorschlagen, dass Sie Ihre eigenen JUnit-Tests eingerichtet, um die Ergebnisse der jBcrypt vergleichen und mehr bewiesen Bcrypt, um zu sehen, wenn Sie die gleichen Ergebnisse zu erhalten, und dann dazu beitragen, diejenigen, zum jBcrypt Projekt.
Aber das ist bereits geschehen:
... Schiffe mit einer Reihe von JUnit-Einheit Tests korrekten Betrieb zu überprüfen die Bibliothek und die Kompatibilität mit der kanonische C Umsetzung des bcrypt Algorithmus.
Durchlesen der JUnit-Tests, um zu sehen, ob sie Ihre Zufriedenheit erfüllen ist, wo ich anfangen würde ...
Ich bezweifle, Stabilität wird ein Thema sein, da bcrypt selbst ausgereift ist und sein kleiner, standardisierter Wrapper tut nichts Besonderes. Ich bin glücklich mit Damien Miller anderen bcrypt Wrapper, python-bcrypt , das ist nur auf die Version 0.1.
ich mit Maven nicht vertraut bin, aber (Ketzerei alert!) Ich bezweifle, dass Sie die Versionskontrolle für eine Komponente so einfach wie bcrypt benötigen. Um die Website zu zitieren, waren die Änderungen von v0.1 auf v0.2 „Korrektheit, Tippfehler und API zwickt (vollständig rückwärts kompatibel),“ und die ToDo-Liste ist leer.