domingo, 7 de agosto de 2011
Encryptar contraseñas en MySQL y php
Programados que se respeta no deja la contraseña visible en un campo en la base de datos.Ejemplo de la tabla
CREATE TABLE Usuarios (
usuario varchar(20) NOT NULL,
contrasena varchar(40) NOT NULL
)
Como encriptamos el campo contrasena, podemos hacerlos con sha1 o md5 los campos debe de ser de cierta logintud:
sha1: 40 caracteres
MD5 : 32 caracteres
Cual es el seguro ?
Facil sha es mas seguro MD5 ya que calcula el cheksum SHA es de 160 bits de una cadena, mientras que MD5 la calcula de 128. Sin embargo MD5 puede ser vulnerado, la práctica es tan compleja que no merece la pena el esfuerzo.
Ejemplos
INSERT INTO usuarios VALUES('usuario',sha1('contraseña'));
INSERT INTO usuarios VALUES('usuario',MD5('contraseña'));
select coun(*)
from usuarios
where usuario=sha1('contraseña')
Ejemplo php:
$conexion = mysql_connect("localhost", "root", "123");
mysql_select_db("sysdb", $conexion);
$sql="INSERT INTO Usuarios (usuario,contrasena,)
VALUES('$_POST[usuario]', sha1('$_POST[password]'))";
mysql_query($sql)
Suscribirse a:
Comentarios de la entrada (Atom)
1 comentario:
Gracias, Esto me servira dentro de poco..
Publicar un comentario