Encriptar contraseñas con PHP

Para prevenir posibles vulnerabilidades en nuestro servidor, es una medida eficaz encriptar las contraseñas.

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 contrasñ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:

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

Ya podemos guardar la contraseña en nuestra base de datos o fichero, pero… ¿como haremos para comprobar 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íitro, 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.

Autor
Escrito por Jose Aguilar - Director ejecutivo y tecnológico en JA Modules. Experto programador PrestaShop y Experto programador WordPress.
Te ha servido? Valora esta entrada!
(1 voto, promedio: 5 de 5)
Comparte en las redes sociales
¿Buscas trabajo de programador?

Una respuesta a “Encriptar contraseñas con PHP”

  1. Encriptar contraseñas con Blowfish | Jose Aguilar dice:

    […] ya bastante tiempo ya hablamos en este blog sobre encriptar contraseñas con PHP para registrar, por ejemplo, contraseñas de usuarios en base de datos. En esa entrada indicábamos […]

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Ver más sobre