2010-07-08 6 views
53

¿Alguien puede recomendar una biblioteca Java que contenga métodos que sean adecuados para realizar la comprobación de la fuerza de la contraseña del lado del servidor en una aplicación web? Lo ideal sería que el corrector debe ser:Biblioteca de comprobación de la intensidad de la contraseña

  • configurable, lo que permite que el desarrollador para suministrar diferentes diccionarios, ajustar los pesos de diferentes criterios, y así sucesivamente
  • extensible que permite nuevos criterios para ser implementado si se requiere
  • implementado en Java puro
  • no entrelazados fundamentalmente con bibliotecas de etiquetas, componentes de interfaz de usuario o la funcionalidad de "gestión de contraseñas"
  • compatible con un proyecto GPL 3
  • compatible con Spr ing cableado
  • mavenized (idealmente disponible a través de Maven central)
+0

puede encontrar este post usefule - http://stackoverflow.com/questions/75057/what-is-the-best-way-to-check-the-strength-of-a-password –

+1

Esto podría ser simple pero puede ser útil https://github.com/devewm/java-pwdstrength –

+0

Buscando la biblioteca, encontré un [puerto java] (https://github.com/nulab/zxcvbn4j) de la biblioteca JavaScript [zxcvbn] (https://blogs.dropbox.com/tech/2012/04/zxcvbn-realistic-password-strength-estimation/). No verifica las reglas, sino que calcula la entropía de contraseñas teniendo en cuenta la lista de las contraseñas populares. No tiene dependencias Está en el centro de Maven. Tiene licencia de MIT. –

Respuesta

64

Tenga una mirada en vt-password:

  • configurable, lo que permite que el desarrollador para suministrar diferentes diccionarios, ajustar los pesos de diferentes criterios, etc. - parcialmente (sí a configurables, diccionarios, no a criterios ponderados)
  • extensible que permite nuevos criterios para ser implementado si es necesario - Sí
  • implementado en Java puro - (y javadoc decente)
  • no entrelazados, fundamentalmente, con una funcionalidad de librerías de etiquetas, componentes de interfaz de usuario o "gestión de contraseñas" -
  • compatible con un proyecto GPL 3 - Sí (LGPLv3/APLv2 de doble licencia a partir de noviembre de 2013)
  • compatible con el cableado de primavera - Parece que
  • mavenized (throug idealmente disponibles h Maven Central) - Sí (en el centro desde la versión 3,0)

Actualización de @Stephen C.

Los chicos que hacen vt-contraseña han hecho una serie de mejoras de la API ya que la la pregunta fue respondida originalmente, y uno de los resultados es que las clases son mucho más fáciles de configurar usando Spring IoC. También han subido a Maven central: http://mvnrepository.com/artifact/edu.vt.middleware/vt-password

+2

Aunque no me importa este tema (en este momento), qué gran respuesta. +1 –

+0

¡Excelente! ¡Gracias! –

+0

@Stephen: De nada. @ Daniel: Gracias, me alegro de que lo encuentre (potencialmente) útil también. –

10

Esta es una respuesta de seguimiento a decir que yo hice uso vt-contraseña, y estoy feliz con los resultados.

Empecé con vt-password versión 2.0 y lo pirateé un poco para que funcione con el cableado de Spring, y abordo los problemas de seguridad de subprocesos a los que aludí en mis comentarios sobre la respuesta de @ Pascal. Eso fue suficiente para continuar.

Hace unas semanas, el equipo de vt-middleware lanzó vt-password 3.0, basado (en pequeña parte) en mis comentarios sobre 2.0.Esta nueva versión solucionó todos los problemas que había pirateado, y ahora he abandonado mis mods locales y estoy usando vt-password 3.0 como está. También han subido sus cosas a Maven Central y han mejorado la documentación en línea.

+0

¿cómo se las arregló para usar vt-password para calcular las fortalezas de las contraseñas? No veo nada que le permita ponderar diferentes criterios o recuperar una medición de "fuerza" durante la validación. ¿O abandonó este requisito? Estoy pensando que podría ejecutar la validación varias veces con diferentes valores para las reglas y de alguna manera encontrar una fortaleza, pero eso seguramente parece excesivo. – Tauren

+0

@Tauren - de hecho, abandoné este requisito. –

+0

Oh, bueno, esperaba que encontraras una solución simple. También he descartado este requisito. Tal vez me ocuparé de la fortaleza de la contraseña en el futuro. – Tauren

Cuestiones relacionadas