Cita:
Iniciado por NueveReinas Hola gente
Me encuentro, como algunos ya saben, empezando a trabajar sobre PHP, bases de datos, MySQLi, sesiones, etc. (Soy frontender, disculpen si a veces soy molesto :P )
Me surgió la duda de
cómo puedo mandar la contraseña del registro encriptada hacia la base de datos y cómo desencriptarla para después hacer el login.
¿Qué método es el más seguro para encriptar/desencriptar sin SSL?
Imagino que, aunque mi proyecto es de a escala local, algún curioso podría tratar de agarrar la contraseña 'al vuelo' por medio de Wireshark o métodos parecidos.
Me supongo que para desencriptar debe ser algo como "si la $password es igual a '$password+encriptación', entonces crea la sesión/se efectúa el login".
¿Alguna ayuda y/o consejo al respecto?
jrasias d antebraso
En primer lugar encripta la password. Puedes usar el método de encriptacion que consideres: md5, sha1, crypt, etc... o incluso combinar varios como te pongo en el siguiente ejemplo:
Código PHP:
Ver original$password = "123456789"; //password introducida por usuario
$password_encriptada = md5(sha1($password)); //password encriptada, primero sha1 y despues md5
En el registro de usuario guardas $password_encriptada en la base de datos, la cual tendrá un valor tal que: 3f$%6ds%SDF4DSdk(=f3 (por ejemplo)
En el login, haces lo mismo... encriptas la password introducida y comparas la cadena encriptada con la que hay en base de datos. Si ambas cadenas coinciden, es que la password es correcta.