Codificar contraseñas con md5()

La función md5() es un algoritmo que permite calcular el hash exacto de una cadena, devolviendo un valor compuesto por números y letras de 32 caracteres.

Veamos un pequeño ejemplo de cómo trabaja la función:

<?
$password_original = "argen27";
$password_codificado = md5($password);

echo "Password original: " . $password_original;
echo "<br>Password codificado: " . $password_codificado;
?>

El resultado de la ejecución de este script sería:

Password: argen27
Password codificado: 4c1faf913420788dfeaceb52a789342f

A continuación veremos un ejemplo de un simple sistema de login en donde utilizamos la codificación md5 para chequear si la contraseña ingresada.

Sistema de login

Armamos un formulario sencillo, con dos casillas, una para ingresar el nombre de usuario y el otro la contraseña.

formulario.htm

<HTML>
<HEAD>
<TITLE>Codificación md5</TITLE>
</HEAD>
<BODY>
<FORM METHOD="POST" ACTION="md5.php">
Usuario: <INPUT TYPE="text" NAME="usuario"><br>
Contraseña: <INPUT TYPE="text" NAME="password"><br>
<INPUT TYPE="submit">
</FORM>
</BODY>
</HTML>

Cuando el usuario ingresa los datos y envía el formulario, la página md5.php entra en acción:

md5.php

<HTML>
<HEAD>
<TITLE>Codificación md5</TITLE>
</HEAD>
<BODY>
<?
// Datos para loguearse
$d_usuario = "administrador";
$d_password = "4c1faf913420788dfeaceb52a789342f";

// Codificamos el password ingresado
$password_cod = md5($password);

// Comparamos el nombre de usuario
// Y también comparamos el password ya codificado

if (($usuario==$d_usuario) && ($password_cod==$d_password))
{
    echo "Acceso permitido!";
}
else
{
    echo "Acceso no permitido!";
}
?>
</BODY>
</HTML>

En la variable $d_password tenemos la contraseña codificado en un hash. Con la función md5() se codifica el password ingresado por el usuario, y luego se realiza una comparación de igualdad entre ambas contraseñas codificadas ($password_cod==$d_password).

Pueden ver el ejemplo del sistema de login funcionando haciendo click aquí (el nombre de usuario es "administrador" y el password "argen27").

Deja un comentario