Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Xaina en 17 Mayo 2008, 19:39 pm



Título: MD5...
Publicado por: Xaina en 17 Mayo 2008, 19:39 pm
Buenas, estaba buscando el algoritmo del MD5 en php y me encontre que se puede usar  directamente en Mysql usando esta linea:

Código:
Insert into usuarios (nick,clave) values ('usuario',MD5('contraseña'));

todo bien... pero... sabiendo que la desencriptación es imposible en este caso, si deseo hacer una comparación desde php cuando un supuesto usuario introduzca la contraseña ¿como lo haria? lei que pueden haber diferencias entre la cifrado hecha desde php a la que usa el mysql.

Entre los diferentes tipos de encriptacion que trae el mysql (según lo que lei) ¿cual es el mas seguro? --> MD5, SHA o SHA1, AES, etc.

Edito:

bueno, investigando encontre esto:

Código
  1. <?
  2.   $contraseña = md5 ( $contraseña );
  3. ?>
  4.  
ç

al parecer eso basta para cifrar la contraseña, pero... ¿habra alguna diferencia entre la cifrado elaborada en php a la realizada directamente en mysql?

¡saludos! Xaina


Título: Re: MD5...
Publicado por: Ertai en 17 Mayo 2008, 20:02 pm
Exacto, para hacer un login tendrias que usar la funcion en php md5() para cifrar la contraseña usada y compararla con el hash (la contraseña en md5) que tienes guardada en la base de datos.

Que yo sepa, no tendria que haber ninguna diferencia entre el MD5 de MySQL y el de PHP, de hecho, yo uso los dos y son identicos (sino, perderia toda la gracia del sistema).

No hay ninguno seguro al 100%, pero seguramente, el más difícil de romper por fuerza bruta, sea SHA1.

Suerte.


Título: Re: MD5...
Publicado por: Xaina en 17 Mayo 2008, 20:22 pm
Muchas gracias por responder Ertai, me dejas un poco más clara, llegue leer en otro foro, el caso de un joven que usaba los dos metodos antes mencionado y en la comparación no funcionaba a pesar de usar la misma contraseña y el problema según él, era que una de las dos tenia caracteres en mayuscula que el otro hash no tenia. Ahora no se si eso sea verdad...

Seguire investigando quizás use SHA1, espero que tambien se pueda usar en php al igual que MD5, incluso estudio la posibilidad de usar el JS para cifrar la contraseña antes de enviarla al servidor para su comparación.

Xaina


Título: Re: MD5...
Publicado por: Ertai en 18 Mayo 2008, 21:27 pm
Hay otros pequeños trucos para incrementar la seguridad, ya que te veo muy en el tema.

Por ejemplo, puedes hacer un doble hash

Código
  1. $foo = md5(sha1($pass));

Otra idea es poner, por ejemplo, un prefijo y sufijo

Código
  1. $foo = md5(sha1("87sdfv-´+'" . $pass . "sd34+435´"));

Saludos  ;)