Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/05/2010, 12:40
lisen
 
Fecha de Ingreso: agosto-2007
Mensajes: 123
Antigüedad: 16 años, 8 meses
Puntos: 0
problema al cifrar contraseña

que tal gente buen dia!!!

tengo el siguiente problema:

tengo el tipico sistema de logueo con usuario y contraseña, en mi base de datos (mysql) guardo la contraseña cifrada, (he probado con md5, crypt y sh1) y al revisar el registro en la base se guarda bien la contraseña.

el problema que tengo es que cuando un usuario introduce su usuario y contraseña me manda a la pagina en caso de error, antes de mandar el formulario hago esto:

if (isset($_POST['usuario'])) {
$loginUsername=$_POST['usuario'];
$password=$_POST['contraseña'];
$pass=md5( $password);
$MM_fldUserAuthorization = "";
$MM_redirectLoginSuccess = "catalogo.php";
$MM_redirectLoginFailed = "a.php";
$MM_redirecttoReferrer = false;
mysql_select_db($database_vivero_conn, $vivero_conn);

$LoginRS__query=sprintf("SELECT usuario, contraseña FROM usuarios WHERE usuario='%s' AND contraseña= '$pass'",
get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $pass: addslashes($pass));

tambien he hecho lo siguiente:
a manera de comprobar, hice un formulario donde se introducen dos contraseñas, una cifrada en sh1 y otra en crypt, al enviar el form me devuelve las contraseña cifradas:

("segura" es la contraseña)
segura //en sh1
57a7a14af7df2b56284c511061f984bddc321a59
segura //en crypt
$1$mCkh40Hk$EHDpjrRXYxRZR8T8IC5Sa1

y abajo de esto tambien me devuelve, mediante una consulta, el valor de "contraseña" registrada en la base de datos, la cual la tengo cifrada con sh1:

$pass=sha1(contraseña);
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "registro")) {
$insertSQL = sprintf("INSERT INTO usuarios (usuario, contraseña, nombre, direccion, telefono)
VALUES (' ".$_POST[usuario]." ', ' ".$pass."' ,' ".$_POST[nombre]."', '".$_POST[direccion]."', '".$_POST[telefono]."' )");

57a7a14af7df2b56284c511061f984bddc321a59 //este es el valor devuelto por la consulta

al hacer estas pruebas veo que "segura" tiene el mismo valor cuando mando el formulario, y cuando la consulta me regresa el valor de contraseña, pero cuando mando el form de logueo no me funciona aunque la contraseña ya este cifrada.

que puede estar mal???
de antemano muchas gracias