Para almacenar las contraseñas encriptadas puedes usar solo md5, o acompañarlo con algo adicional para aumentar un poco la seguridad, ejemplo:
Código PHP:
// Creamos una llave numerica
$key = 28459413;
// Encriptamos la clave
$safe_save_pass = md5($key . $claveusuario);
// Almacenas la clave encriptada en la base de datos
// Solo asegurate de que se pueda guardar completa (entre 40 y 50 caracteres)
// Cuando el usuario ingrese (login)
// Usas la misma $key mencionada arriba
// Encriptas la clave ingresada en el formulario
$login_pass = md5($key . $_POST['password']);
// Comparas las dos claves encriptadas
if($login_pass != $claveusuario)
// Nunca des mensaje de que el nombre es correcto y el pass no
die('Nombre de usuario o clave de acceso incorrectos.');
Problema de seguridad en tu script:
Código PHP:
include "mysql.inc";
Si a algun usuario se le ocurre teclear
sitio.com/mysql.inc lo mas seguro es que obtenga ese archivo, ya sea desplegado como texto o disponible para descarga, si almacenas ahi los datos de conexion a MySQL, entonces practicamente tendra acceso libre.
Renombra el archivo a mysql.inc.php, o como prefieras, pero con extension php y, adicionalmente, define una constante en tus scripts que verificaras antes de realizar la conexion a base de datos:
Scripts:
Código PHP:
define('conecta', 1);
include 'mysql.inc.php';
// El resto de tu codigo
mysql.inc.php:
Código PHP:
if(!defined('conecta'))
die('Acceso no permitido.');
// El resto de tu codigo aqui