Programación Web y Scripting > PHP

 Sistema de login encriptado.

(1/2) > >>

Alchiment:
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:
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 ---$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

Alchiment:
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 ---INSERT INTO principal (codigo, nombre, contrasena)VALUES(05, 'David', md5('David2'));

y asi en el PHP

--- Código: PHP ---$sql = "SELECT nombre, contrasena                             FROM principal                             WHERE nombre = '".$_POST['txtnombre']."' and contrasena = '".md5($_POST['txtcontrasena'])."'";
Pda: El mysql tampoco lee el md5

Alchiment:
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:
Ajj que inutilidad la suya, no aprende nada de lo que se le enseña.
Mire a ver

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa