Hola. Espero puedan ayudarme con este problema que ya llevo varios días con el y no he podido resolver, que a continuación explico.
Tengo una página web en Symfony2 donde los usuarios generan sus cuentas con un usuario y una contraseña. Symfony se encarga de codificar la contraseña con un algoritmo que pondré más adelante.
Me gustaría igualar la codificación que usa Symfony2 pero en Java. A continuación pongo el algoritmo que Symfony usa y lo que llevo de código.
Codificación de Symfony2
Código PHP:
public function encodePassword($password, $salt)
{
$salted = $password.'{'.$salt.'}';
$digest = hash('sha512', $salted, true);
// "stretch" hash
for ($i = 1; $i < 5000; $i++) {
$digest = hash('sha512', $digest.$salted, true);
}
return base64_encode($digest);
}
My codificación en Java
Código Java:
Ver original
if (md != null) {
String salted
= password
+ '{'+salt
+'}'; md.reset();
for (int i = 0; i < 5000 ; i++) {
md.update(salted.getBytes());
}
byte byteData[] = md.digest();
String base64
= Base64.
encodeToString(byteData, Base64.
NO_WRAP); System.
out.
println("passCodificada: "+base64
);
return base64;
}
return password;
}
Pero no me funciona, espero pudan ayudarme. Saludos