• Domingo 22 de Diciembre de 2024, 07:48

Autor Tema:  Sistema de login encriptado.  (Leído 9218 veces)

Alchiment

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Sistema de login encriptado.
« en: Viernes 22 de Febrero de 2013, 18:38 »
0
Saludos.  :smartass:

Soy nuevo en este foro y también en la programación php, estoy intentando realizar un sistema de login encriptado con php y mysql y utilizo el aes_encrypt por ejemplo:

      INSERT INTO principal (codigo, nombre, contrasena)
         values (03, 'Carlos', aes_encrypt('Carlos2', 'password'));

Esto se encripta en la base de datos, pero mi pregunta es como hago que una persona pueda acceder con esa contraseña encriptada, pense en almacenar los campos en una variable php y asi realizar una comparación.

Estoy probando con un nuevo campo que tenga de nombre Richard y contraseña Richard2 pero no lo compara el nombre junto a la contraseña y no logro darle  :ayuda:
   pd: lo probé con solo el nombre y si lo da pero lo pruebo con la contrasea NO encriptada y no da.  :nosweat:


     if(isset($_POST['enviar'])){
           if($_POST['txtnombre'] == $Vnombre and $_POST['txtcontrasena'] == $Vcontrasena ){
             
                echo '<h1> es correcto </h1>el nombre: '.$_POST['txtnombre'];
            }else{
                echo '<h1>es incorrecto </h1>el nombre: '.$_POST['txtnombre'];
            }
        }

Gracias  :suerte:

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re:Sistema de login encriptado.
« Respuesta #1 en: Sábado 23 de Febrero de 2013, 15:17 »
0
Usa el método de encriptación md5, es mucho mejor y solo debes comparar el hash encriptado de la DB con el texto encriptado que metas en el campo de texto:
Código: PHP
  1. $sql = "SELECT camposquequeras FROM tablausuarios WHERE campoclave='".md5($_POST['CAMPOCLAVE'])."'";
y lo ejecutas con el mysql_query y luego validas o miras si te devuelve más de uno o como quieras validar
El pasado son solo recuerdos, el futuro son solo sueños

Alchiment

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re:Sistema de login encriptado.
« Respuesta #2 en: Sábado 23 de Febrero de 2013, 23:45 »
0
Gracias por responder Edo y he utilizado el codigo como me dices pero el problema esta en la encriptacion,
cambie los campos por una contraseña que no esta encriptada y si la lee, pero al utilizas tu ejemplo de varias formas no los lee, ya busque como leer la contraseña md5 y todos aparecen igual pero no se porque no lo utilza :(

Asi los ingreso en el MySql:

Código: SQL
  1. INSERT INTO principal (codigo, nombre, contrasena)
  2. VALUES(05, 'David', md5('David2'));


y asi en el PHP
Código: PHP
  1. $sql = "SELECT nombre, contrasena
  2.                             FROM principal
  3.                             WHERE nombre = '".$_POST['txtnombre']."' and contrasena = '".md5($_POST['txtcontrasena'])."'";

Pda: El mysql tampoco lee el md5

Alchiment

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re:Sistema de login encriptado.
« Respuesta #3 en: Domingo 24 de Febrero de 2013, 03:19 »
0
Edo  Ya encontre el problema  :nosweat:, gracias por la atención, era que al crear el campo Password lo cree varchar(25) y no recordaba que eran 32 caracteres  :nosweat:
ahora si me cojio :D
Gracias  :suerte:

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re:Sistema de login encriptado.
« Respuesta #4 en: Domingo 24 de Febrero de 2013, 17:42 »
0
Ajj que inutilidad la suya, no aprende nada de lo que se le enseña.
Mire a ver
El pasado son solo recuerdos, el futuro son solo sueños

Alchiment

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re:Sistema de login encriptado.
« Respuesta #5 en: Domingo 24 de Febrero de 2013, 19:43 »
0
jajaj Inutil? por todo lado esta utd no.
Antes estoy expandiendo mis conocimientos porque los métodos de encriptacion no los enseñan ja!

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re:Sistema de login encriptado.
« Respuesta #6 en: Lunes 25 de Febrero de 2013, 18:13 »
0
Claro que sí se enseña pero todavía falta para esa clase
El pasado son solo recuerdos, el futuro son solo sueños