Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-01-2013
ebanibaldo ebanibaldo is offline
Miembro
 
Registrado: feb 2010
Posts: 62
Poder: 15
ebanibaldo Va por buen camino
encriptar con md5

Hola amigos del foro...!!! estoy relizando un sistema y en este tengo que agregar usuarios y estos son guardados en una base de datos.. pero estos usuarios tambien tienen que iniciar una sesion, entonces tengo para ellos un nombre de usuario y una contraseña.

lo que quiero hacer es encriptar la contraseña con md5, es decir que se almacene en la base de datos ya encriptada, supuestamente lo tengo asi:

Código PHP:

<?php
include('conexion/conexion.php');

$idu=$_POST['idu'];
$usuario=$_POST['user'];
$pass1=$_POST['psw'];
$nombre=$_POST['nombre'];
$p_apellido=$_POST['p_apellido'];
$s_apellido=$_POST['s_apellido'];
$email=$_POST['email'];
$activo=$_POST['activo'];
$idt=$_POST['idt'];

$passmd5('$pass1');

$sql=mysql_query("insert into usuario (idu,user,psw,nombre,p_apellido,s_apellido,email,activo,idt)values
('
$idu','$usuario','$pass','$nombre','$p_apellido','$s_apellido','$email','$activo','$idt')",$conexion);
if(!
$sql){
die(
"Fallo en la insercion de registro en la Base de Datos: " mysql_error());
}
          else{                
               
header("Location:consulta3.php?msg= Usuario agregado correctamente con la contrasena: $pass");
exit;
}
mysql_close($conexion);
?>
y para iniciar sesion tengo esto en donde tambien encripto la contraseña que se pone en el formulario que el codigo es:

Código PHP:
<?php
include('conexion/conexion.php');
$user=$_POST['user'];
//$psw1=mysql_escape_string($_POST['psw']);
$psw1=$_POST['psw'];
$psw md5($psw1);
$sql="select*from usuario where user='$user' and psw like '$psw'";
$consulta=mysql_query($sql)or die("error de consulta");
$filas=mysql_num_rows($consulta);
if(
$filas==0)
{
header("Location:login.php?msg= Usuario o password no valida");
exit;
}
if(
$filas==1)
{
$nombre=mysql_result($consulta,0,'nombre');
$tipo=mysql_result($consulta,0,'idt');
$activo=mysql_result($consulta,0,'activo');
$idu=mysql_result($consulta,0,'idu');
}
if(
$activo=='no')
{
header("Location:login.php?msg= Usuario no activo");
exit;
}
else
{
header("Location:cookie.php?idu=$idu&idt=$tipo");
exit;
}
?>
el problema que tengo es que no puedo accedes xq la contraseña que se guarda en la base de datos no es la misma que la que se encripta en el formulario..

si alguien me puede ayudar con esto se los agradeceria

Gracias por tomarte el tiempo en leer este mensaje y gracias por sus respuestas
Responder Con Cita
  #2  
Antiguo 30-01-2013
WkaymQ48 WkaymQ48 is offline
Miembro
NULL
 
Registrado: jul 2012
Posts: 43
Poder: 0
WkaymQ48 Va por buen camino
Revisa esta linea
Código PHP:
$passmd5('$pass1'); 
Responder Con Cita
  #3  
Antiguo 30-01-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
De todas formas, md5 no "encripta" nada, o sea, que no está creado para "encriptar".
Responder Con Cita
  #4  
Antiguo 30-01-2013
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 20
movorack Va camino a la famamovorack Va camino a la fama
Coincido con Wkay...

Código PHP:
$passmd5('$pass1'); 
En la parte del código donde almacenas el hash en la DB estás calculando a "$pass" (b148e7f41fdc3be4b14e8d17e068bbad) y no al valor de $pass.

En cambio en la validación del login si estás calculando el hash a $pass si la contraseña fuera 123456 el hash sería e10adc3949ba59abbe56e057f20f883e y nunca validaría contra el almacenado para ese usuario.
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #5  
Antiguo 30-01-2013
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.732
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Según leí en algún lugar la forma correcta de hacerlo es la siguiente:

Tabla
USUARIO (usuario, hash_md5, otros_campos)

Crear un usuario:
  1. Pides nombre de usuario
  2. Pides contraseña
  3. Calculas md5(nombre_de_usuario + contraseña)
  4. Guardas el resultado en la base de datos
Login:
  1. Pides nombre de usuario
  2. Pides contraseña
  3. Calculas md5(nombre_de_usuario + contraseña)
  4. Comparas el resultado con lo que tengas en la base de datos
Responder Con Cita
  #6  
Antiguo 30-01-2013
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por Casimiro Notevi Ver Mensaje
De todas formas, md5 no "encripta" nada, o sea, que no está creado para "encriptar".
Reiterando lo que dice Casimiro. No solo MD5 no es para encriptar claves, es ESTUPIDO usar md5 ahora. Es superfacil "desencriptar" lo que pongas ahi. Osea, es como si no hicieras nada de nada.


NO LO HAGAS ASI.

Mira la respuesta y enlaces que puse en http://clubdelphi.com/foros/showpost...42&postcount=3
__________________
El malabarista.
Responder Con Cita
  #7  
Antiguo 30-01-2013
ebanibaldo ebanibaldo is offline
Miembro
 
Registrado: feb 2010
Posts: 62
Poder: 15
ebanibaldo Va por buen camino
gracias a todos por sus respuestas... y si estaba casi todo bien ecepto en la linea que me comentaron que es esta:

Código PHP:
$pass=md5('$pass1'); 
donde deve si las comillas simples de estar de esta forma:
Código PHP:
$passmd5($pass1); 
Una vez mas veo que es muy importante fijarse en la sintaxis, ya que hasta por una coma no sirve nada jejejeje..
saludos ...
</span></span>
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
encriptar ¿? baby Varios 8 10-06-2007 18:34:48
encriptar xelip Varios 1 27-08-2006 22:47:10
encriptar tablas pablo Conexión con bases de datos 2 06-11-2004 19:26:15
Encriptar datos? emeceuy Varios 2 03-07-2003 18:56:50


La franja horaria es GMT +2. Ahora son las 15:05:08.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi