Manual de PHP

 
 
 

Mapa Web

 
borde   borde
Portada arrow Lista de Códigos PHP arrow Encriptar contraseñas en MD5 con PHP

 

Encriptar contraseñas en MD5 con PHP Imprimir E-mail

Si en nuestra página web tenemos un sistema de usuarios y queremos proteger las contraseñas para prevenir posibles vulnerabilidades en nuestro servidor, es una medida eficaz encriptar las contraseñas, de manera que si alguien puede acceder a ellas no pueda ver la contraseña si no su encriptación.

Para mejorar este sistema, lo que haremos es usar un algoritmo de encriptación de un solo sentido, es decir que no se puede desencriptar de ninguna manera, como por ejemplo md5.

Para guardar la contraseña encriptada en md5, usaremos la funcion md5() de PHP:

<?
$contrasena = md5 ( $contrasena );
?>

Ya podemos guardar la contraseña en nuestra base de datos o fichero, pero... ¿como haremos para comprovar la contraseña en el inicio de sesión?

Muy fácil, como en la base de datos tenemos la contraseña en md5, encriptaremos la contraseña que escribe el visitante de la misma manera que hemos encriptado la contraseña del usuario en el momento de su regístro, ahora ya podremos comparar la contraseña enviada con la almacenada en el servidor, si la encriptación coincide es que la contraseña es correcta.

Pero si no usamos una transmisión segura (pe: SSL) sigue habiendo un problema, cuando el usuario envía los datos al servidor, la contraseña es enviada sin encriptar, y en ese momento puede ser capturada por un tercero. Para evitar esto, podemos encriptar la clave en el ordenador del cliente usando JavaScript gracias a Javascript MD5 , en lugar de encriptarla en el servidor usando PHP.

Artículo por cortesía de Eloi de San Martín
www.programacionweb.net

 

 
Portada
Capítulos del Manual de PHP
Introducción a PHP
Variables
Mi Primer Script PHP
Operadores en PHP
Estructuras de Control
Funciones en PHP
Inclusión de código
Matrices (array)
Cadenas de Caracteres
Clases
Fechas
Entrada y Salida
Operaciones con Ficheros
El lenguaje SQL y PHP
Conexión con MySQL
Sesiones
Formularios con PHP
Practicar en línea
Lista de prácticas en línea
FAQ
Preguntas frecuentes
Códigos PHP
Lista de Códigos PHP
Foros
Foros PHP
Otros Manuales
Manuales de otros lenguajes
 
   
 
 
Alojamiento web en Hostalia