¿Cómo cifrar contraseñas antes de subirlas a MySQL en PHP?

Iniciado por Macky25, 20 Agosto 2016, 22:36 PM

0 Miembros y 1 Visitante están viendo este tema.

ivancea96

[quote author=nsigned link=topic=456574.msg2084352#msg2084352 date=1471884629]
Lo que se hace es aplicar el digest MD5 o SHA1 a la clave en plano mas un salt(sal en ingles).

El salt debe ser un valor constante en el sistema, por ejempo pongamos que es ""dddfD$#Fdewded".

Entonces deberias hacer: MD5(clave_plana + salt), por ejemplo en PHP:

Código (php) [Seleccionar]
define('SALT','dddfD$#Fdewded');
$password = "1234561;"
$secure = md5($password . SALT);


Asi, por ams que alguien tenga un diccionario con la clave plana, si no saben el SALT nunca podran hacer la reversion xD
[/quote]

Es preferible que el salt sea diferente cada cada usuario, y aleatorio. Puedes almacenarlo en la misma tabla del usuario.

[u]nsigned

Cita de: ivancea96 en 26 Agosto 2016, 01:52 AM
Es preferible que el salt sea diferente cada cada usuario, y aleatorio. Puedes almacenarlo en la misma tabla del usuario.

Por su puesto, incluso asociarlo a la IP y otros datos del HEADER, como user-agent, pero no quería complicarlo mucho...

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!

geshiro

no uses md5 o sha1 ambos pueden ser quebrados con una rainbow table incluso con salt