Pregunta

yo uso "Forzar cifrado MD5 de la contraseña" en htpasswd para generar un hash, por ejemplo, '123' me sale:

El uso htpasswd: 123 => $ APR1 $ kaTbKaLO $ ewJXRZAKpjaxK4thy2jOp /

utilizar MD5: 123 => 202cb962ac59075b964b07152d234b70

Por favor, dime cómo puedo generar un hash como el Apache htpasswd Utilización de Java Gracias.

¿Fue útil?

Solución

Las contraseñas en Apache Htpasswd archivos se codifican usando un href="http://en.wikipedia.org/wiki/Salt_(cryptography)" rel="nofollow sal . Si desea generar estas contraseñas usando Java que necesita para hacer lo mismo. Este sitio tiene una explicación de la sal algoritmo / hash utilizado para Apache. archivos htpasswd; Busco a un algoritmo real que podría utilizar y editará mi respuesta después de encontrar uno.

Editar : Parece que se ha pedido antes, aquí en la SO:

Programmaticly construcción htpasswd

Aquí está la documentación de Apache, junto con su código fuente:

http://httpd.apache.org/docs/2.2/misc /password_encryptions.html

http :? //svn.apache.org/viewvc/apr/apr-util/branches/1.3.x/crypto/apr_md5.c vista = co

Otros consejos

Me encontré en la que alguien ha abordado esto en Java y liberado con una licencia de cerveza-ware. ¿Mejor tarde que nunca, cierto? Ha estado ahí, probablemente, desde el año 2007 por lo que me sorprendería si no hubiera encontrado finalmente un poco de tiempo después de pedir en 2010.

  

"Java puerto Por: Jonathan Abbey, jonabbey@arlut.utexas.edu"

     

"MD5Crypt.java es un puerto de FreeBSD original del Poul-Henning Kamp   algoritmo hash basado-MD5, con métodos adicionales para apoyar la   Apache httpd del servidor variante de este algoritmo ".

     

"La cadena resultante estará en la forma '$ APR1 $ $ '"

ftp://ftp.arlut.utexas.edu/pub/java_hashes/

md5crypt es lo que busca. Implementa Apache htpasswd algoritmos

  

algoritmo específica de Apache usando un iterada ( 1.000 veces ) MD5 de diversas combinaciones de un aleatorio de 32 bits sal y contraseña .

import org.apache.commons.codec.digest.Md5Crypt;
...
String enPasswd = Md5Crypt.md5Crypt("your plain password".getBytes());
String htpasswdContent = "your username:" + enPasswd;
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top