Foros del Web » Programando para Internet » PHP »

De que manera es mas seguro?

Estas en el tema de De que manera es mas seguro? en el foro de PHP en Foros del Web. Hola Foreros! Mi consulta es la siguiente: Para encriptar una contraseña de usuario es mejor utilizar md5 o crypt? Cual es mas seguro? Desde ya ...
  #1 (permalink)  
Antiguo 15/04/2009, 22:38
 
Fecha de Ingreso: junio-2008
Ubicación: Porto Alegre
Mensajes: 67
Antigüedad: 15 años, 10 meses
Puntos: 0
Pregunta De que manera es mas seguro?

Hola Foreros!

Mi consulta es la siguiente:

Para encriptar una contraseña de usuario es mejor utilizar md5 o crypt?

Cual es mas seguro?

Desde ya muchas gracias!

Abrazos!
  #2 (permalink)  
Antiguo 15/04/2009, 23:20
Avatar de yeudiel  
Fecha de Ingreso: abril-2008
Ubicación: Ciudad de México
Mensajes: 78
Antigüedad: 16 años
Puntos: 1
Respuesta: De que manera es mas seguro?

MD5, aunque podrias tambien usar las dos

$pass=md5("password");
$pass2=crypt($pass);
  #3 (permalink)  
Antiguo 16/04/2009, 01:15
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Respuesta: De que manera es mas seguro?

Hola, viendo esto me salta una duda, la encriptacion MD5 se puede desencriptar con un simple script, es decir, si pongo esto:

Cita:
32164702f8ffd2b418d780ff02371e4c
ser q es
Cita:
pepito
entonces hasta q punto mejora esto la seguridad de una contraseña?

PD -> ante la duda probarlo vosotros mismos: http://md5encryption.com/


Saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #4 (permalink)  
Antiguo 16/04/2009, 01:50
machoman112233
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: De que manera es mas seguro?

Tambien puedes hacer un otra encriptacion del mismo hash para tener mas seguredad...

Código php:
Ver original
  1. $encrypt = sha1(md5("cadena"));
  #5 (permalink)  
Antiguo 16/04/2009, 11:50
 
Fecha de Ingreso: junio-2008
Ubicación: Porto Alegre
Mensajes: 67
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: De que manera es mas seguro?

Gracias Yeudiel, sergi_climent, machoman112233 por sus respuestas!

La verdad que aun no se cual de las dos es mejor, yo venia utilizando para encriptar contraseñas crypt, pero al buscar mas info me encontré que muchos utilizan MD5, no se si este ultimo es mas confiable o los dos son iguales!

Sigo en duda che!

Gracias a todos abrazos!
  #6 (permalink)  
Antiguo 16/04/2009, 12:06
 
Fecha de Ingreso: marzo-2009
Mensajes: 65
Antigüedad: 15 años, 1 mes
Puntos: 2
Respuesta: De que manera es mas seguro?

tambien puedes utilizar algo asi como una llave....

Código PHP:
$key              md5("Mi frase secreta que solo yo se");
$contrasena  md5("mipass");
$pwfinal        =  sha1(md5($contrasena $key)); 
y pues se puden hacer muchas mas cosas por el estilo :)
  #7 (permalink)  
Antiguo 16/04/2009, 12:48
Avatar de Acron_0248  
Fecha de Ingreso: junio-2005
Ubicación: 127.0.0.1
Mensajes: 1.648
Antigüedad: 18 años, 9 meses
Puntos: 18
Respuesta: De que manera es mas seguro?

Hmmmm a ver, si es cosa de cuál de los dos algoritmos ofrece más seguridad, la respuesta es crypt, no md5, por otro lado, la seguridad ofrecida por crypt es relativa y depende de lo que el sistema operativo ofrezca a nivel de algortimos.

== md5 ==

Es común no porque sea más seguro que crypt, simplemente es más sencillo y portable, sin importar el sistema operativo o las versiones de PHP en diferentes servidores, md5 estará allí disponible para su uso ofreciendo siempre el mismo tipo de funcionalidad.

md5 produce un hash no reversible, es un cifrado de una sola vía, pero como ya dijo sergi_climent, esto es solo teoría, la realidad tiende a ser distinta.

Actualmente md5 no se considera seguro porque se le conoce problemas de colisión (dos textos diferentes pueden producir el mismo hash) y además, con el poder computacional de hoy día (decodifaciones usando GPU, rainbow tables, etc...), es poco resistente a ataques de fuerza bruta.

En cualquier implementación se puede tratar de utilizar md5 de forma que la clave sea segura usando algún salt o combinaciones como las que coloca elprogra, pero, md5 continuará siendo un hash de 32 bits así que no hay una solución perfecta.


== crypt ==

Al igual que md5, es un cifrado de una sola vía, el hash que produce no se puede revertir (teóricamente).

crypt a diferencia de md5, utiliza salt de forma automática, aún si el usuario no provee una, crypt creará un salt, lo cifrará y eso será usado para cifrar la cadena de texto que se quiere proteger.

crypt se basa en DES lo que es algo importante a considerar ya que DES ha sido quebrado así que "teóricamente" una cadena de texto generada con crypt en PHP bien puede ser decodificada.

crypt puede utilizar diferentes algoritmos durante el cifrado, DES, Extended DES, MD5 y Bowfish pero ello depende de lo que ofrezca el sistema operativo, si el sistema operativo no soportara blowfish, una aplicación de PHP que utilice tal algoritmo no funcionaría como se espera.

Esto cambia con la llegada de PHP 5.3.0 la cual permite el uso de los diferentes algoritmos sin importar lo que ofrezca o deje de ofrecer el sistema, pero dado que aún la versión estable de php es 5.2.9 y que muchos servidores no usan la última versión estable disponible, el uso de crypt terimna limitándose a los algoritmos más débiles (CRYPT_STD_DES y CRYPT_MD5) para ser portable.

Mas allá de las deficiencias de crypt, el solo hecho de usar salt automáticamente y poder usar diferentes algoritmos, lo hace más seguro que md5 (si, en md5 puedes tú agregar en salt, pero no todos lo hacen ;))


En la actualidad ninguno de los dos puede considerarse realmente seguro, ambos han sido quebrados (al menos md5, des y blowfish) y con el poder que ofrecen los computadores de hoy para decifrar códigos, es difícil llamar a cualquiera de las dos "soluciones seguras".


En mi particular prefiero usar mhash o directamente mcrypt pero el ver servidores que no habiliten estas extensiones no es realmente raro.
__________________
Usuario Reigistrado de linux #399288
  #8 (permalink)  
Antiguo 16/04/2009, 13:41
 
Fecha de Ingreso: junio-2008
Ubicación: Porto Alegre
Mensajes: 67
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: De que manera es mas seguro?

Gracias Acron_0248 ¡!!

Tu aporte me ayudo mucho!---

Aunque la idea de que ninguno de los dos es seguro me aterra! Ja!

De todos modos me he decidido por utilizar los dos a la hora de encriptar claves, voy a hacer unos test y veré como me va!

Muchas gracias por las respuestas, son de mucha utilidad., Abrazos!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 00:48.