Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/09/2012, 14:26
Dago
 
Fecha de Ingreso: mayo-2003
Mensajes: 312
Antigüedad: 21 años, 6 meses
Puntos: 2
Problema con HASH y contraseñas

Gente,
Tengo el siguiente problema.

Cuando el usuario ingresa en un input una contraseña, por ejemplo: 123456,
transformo la contraseña:

$pass = "123456";
$salt = "conejo blanco";
$nuevapass = hash('sha512',$salt . crypt(crc32(md5($pass))));
// Genera: 4df27dd09688e7169a4342bfd73dddf72050fb303269497503 4a5cf77b9e6946fb5f265486f723254b5af57d36f36a92a33b 5b9b3966504449bc031afd1017c9

Y si guarda en una tabla de una base.

Cuando quiero comprobar a través de otro input si es la contraseña, pongo

$contraseñarecibida = "123456";
$salt = "conejo blanco";
$contraseñarecibida= hash('sha512',$salt . crypt(crc32(md5($contraseñarecibida))));
// Genera:
895dc0e5db80fe965d1dceda231cf7aab1a520da8219578707 287265e6f421b1760e94c99598771393a4a62ef3c50e02d857 5791df5707b13dfcd39ab0b75511


El tema es que cuando uso un if para comparar (siendo distintos los hashes) me sale error:

if($nuevapass == $contraseñarecibida)
{
echo "Si";
}
else
{
echo "Error";
}

Alguno podría darme una mano? MIL GRACIAS!
Su siempre ignorante amigo Dago.