2012-01-30 152 views
6

Estoy buscando una función Java para generar/verificar hashes de contraseña que fueron codificados en la forma crypt(3) cuando los almacena en el archivo "/ etc/shadow" de Linux si sha512 está activado en "/etc/pam.d/ contraseña común ".

La cadena de texto plano "geheim" se traducirá en:

"$6$WoC532HB$LagBJ00vAGNGu8p9oeYDOSNZo9vTNTzOgPA.K0bJoiXfbcpj3jBuTkNwdzCrSNadRi8LanH1tH6tGGPPp/Lp3." 

De http://www.akkadia.org/drepper/SHA-crypt.txt entiendo que, al igual que con MD5, que no es sólo un hash SHA como DigestUtils o Java MessageDigest clases producen, sino un algoritmo que hace un poco mas de magia

+0

¿Ha comprobado que: http://stackoverflow.com/questions/3174943/java-implementation-of-crypt3 – home

Respuesta

5

encontré implementaciones de Java para toda la nueva cripta() Algoritmos aquí: ftp://ftp.arlut.utexas.edu/java_hashes/

+0

Mientras tanto, el proyecto Apache Commons Codec tiene soporte completo para todos los algoritmos crypt() de Linux. – lathspell42

+0

Agradecería una pequeña información acerca de dónde proviene ese enlace. Descargar tarros aleatorios puede ser una mala idea. – DonyorM

+0

FYI el enlace está muerto, y no hay disponible la versión 'archive.org'. ¿Tienes otra fuente? – Luc

0

La otra pregunta a la que se refiere solo proporciona enlaces al método cripta tradicional (3) basado en DES y el método "$ 1 $" basado en MD5. Necesito verificar las contraseñas que usan el método "$ 5 $" que está basado en SHA-1 o incluso en el método "$ 6 $" basado en SHA-512.

Basado aquí significa que crypt (3) utiliza p. Ej. SHA-512, pero añade un valor sal y hace varias iteraciones como se describe en http://www.akkadia.org/drepper/SHA-crypt.txt

+0

Después de algunas búsquedas encontré al menos una implementación del mecanismo $ 6 $ basado en SHA-512: http : //tools.arlut.utexas.edu/gash2/doc/javadoc/arlut/csd/crypto/Sha512Crypt.html – lathspell42

Cuestiones relacionadas