2010-07-08 10 views
53

Kann jemand eine Java-Bibliothek empfehlen, die Methoden enthält, die für die serverseitige Überprüfung der Kennwortstärke in einer Webanwendung geeignet sind? Im Idealfall sollte der Kontrolleur sein:Bibliothek zur Überprüfung der Kennwortstärke

  • konfigurierbar, so dass die deployer verschiedene Wörterbücher liefern, stellen Gewichte verschiedenen Kriterien, und so weiter
  • erweiterbare neue Kriterien ermöglicht umgesetzt werden, wenn erforderlich
  • implementiert in Java
  • nicht grundsätzlich mit einer Tag-Bibliotheken, UI-Komponenten oder „Passwort-Management“ Funktionalität
  • kompatibel mit GPL 3 Projekt
  • kompatibel mit Spr verflochten ing Verdrahtung
  • mavenized (idealerweise durch Maven Zentral verfügbar)
+0

Sie könnten diesen Beitrag usefule finden - http://stackoverflow.com/questions/75057/what-ist-the-best-way-to-check-the-strength-of-a-password –

+1

Dies könnte einfach sein aber möglicherweise nützlich sein https://github.com/devewm/java-pwdstrength –

+0

Auf der Suche nach der Bibliothek, fand ich einen [Java-Port] (https://github.com/nulab/zxcvbn4j) der JavaScript-Bibliothek [zxcvbn] (https://blogs.dropbox.com/tech/2012/04/zxcvbn-realistic-password-strength-estimation/). Es prüft keine Regeln, sondern berechnet die Passwort-Entropie unter Berücksichtigung der Liste der gängigen Passwörter. Es hat keine Abhängigkeiten. Es ist zentral in Maven. Es hat MIT Lizenz. –

Antwort

64

Werfen Sie einen Blick auf vt-password:

  • konfigurierbar, so dass die deployer verschiedene Wörterbücher liefern, stellen Gewichte verschiedenen Kriterien, und so weiter - Teilweise (ja zu konfigurierbar, Wörterbücher, keine zu gewichteten Kriterien)
  • erweiterbar, so dass bei Bedarf neue Kriterien implementiert werden können - Ja
  • in reinen Java implementiert - Ja (und anständig javadoc)
  • nicht grundsätzlich mit einer Tag-Bibliotheken, UI-Komponenten oder "Passwort-Management" Funktionalität miteinander verflochten - Ja
  • kompatibel mit einem 3-Projekt GPL - Ja (LGPLv3/APLv2 Dual-Lizenz ab November 2013)
  • kompatibel mit Frühlings-Verdrahtung - Sieht aus wie
  • mavenized (idealerweise verfügbar throug h Maven Central) - Ja (im Zentrum seit der Version 3,0)

Update durch @Stephen C.

Die Jungs, die vt-Passwort zu tun haben, da die eine Reihe von API-Verbesserungen Die Frage wurde ursprünglich beantwortet, und eines der Ergebnisse ist, dass die Klassen mithilfe von Spring IoC viel einfacher zu konfigurieren sind. Sie haben es auch in Maven Central hochgeladen: http://mvnrepository.com/artifact/edu.vt.middleware/vt-password

+2

Während mir dieses Thema (gerade jetzt) ​​egal ist, was für eine großartige Antwort. +1 –

+0

Ausgezeichnet! Vielen Dank! –

+0

@Stephen: Gern geschehen. @Daniel: Danke, froh, dass du es auch (potentiell) hilfreich findest. –

10

Dies ist eine Folgeantwort zu sagen, dass ich tat Vt-Passwort verwenden, und ich bin zufrieden mit den Ergebnissen.

Ich begann mit vt-password Version 2.0 und hackte es ein bisschen herum, um es mit Spring-Verkabelung zu arbeiten, und adressiere die Threadsicherheitsprobleme, auf die ich in meinen Kommentaren zu @ Pascals Antwort angespielt habe. Das war genug, um damit fertig zu werden.

Vor ein paar Wochen veröffentlichte das vt-middleware-Team vt-password 3.0, das (zu einem kleinen Teil) auf meinem Feedback zu 2.0 basiert.Diese neue Version adressierte alle Probleme, die ich gehackt hatte, und ich habe jetzt meine lokalen Mods aufgegeben und benutze vt-password 3.0 wie es ist. Sie haben ihre Sachen auch in Maven Central hochgeladen und die Online-Dokumentation verbessert.

+0

Wie haben Sie es geschafft, vt-Passwort zu verwenden, um Passwortstärken zu berechnen? Ich sehe nichts, was es Ihnen erlauben würde, verschiedene Kriterien zu gewichten oder eine "Stärke" -Messung während der Validierung zu erhalten. Oder hast du diese Anforderung fallen lassen? Ich denke, ich könnte die Validierung mehrmals mit verschiedenen Werten für die Regeln durchführen und irgendwie eine Stärke entwickeln, aber das scheint übertrieben. – Tauren

+0

@Tauren - tatsächlich habe ich diese Anforderung fallen gelassen. –

+0

Naja, ich hatte gehofft, du hättest eine einfache Lösung gefunden. Ich habe diese Anforderung ebenfalls fallen gelassen. Vielleicht werde ich in Zukunft die Passwortstärke ansprechen. – Tauren

Verwandte Themen