Foros del Web » Programando para Internet » PHP »

Encriptar contraseñas

Estas en el tema de Encriptar contraseñas en el foro de PHP en Foros del Web. Hola a todos... estoy investigando sobre los sistemas PHP para encriptar contraseñas antes de almacenarlas en a base de datos, y me surge una duda ...
  #1 (permalink)  
Antiguo 24/11/2014, 11:41
 
Fecha de Ingreso: noviembre-2014
Mensajes: 3
Antigüedad: 9 años, 5 meses
Puntos: 0
Encriptar contraseñas

Hola a todos...

estoy investigando sobre los sistemas PHP para encriptar contraseñas antes de almacenarlas en a base de datos, y me surge una duda respecto a lo siguiente.

Por ejemplo... sha1 ($password), u otros sistemas que he visto, usan el término SALT como una cadena que se añade a la contraseña antes de pasarla a la función de encriptado.

¿Qué consequimos con esto? Por lo que yo veo, básicamente se trata de hacer la contraseña introducida más larga. ¿no podemos, y sería más seguro, que exijamos contraseñas más largas para que el usuario la escoja, que hacerlo nosotros mismos? Además, para luego comprobar la contraseña si es correcta o no, tengo que tener en cuenta esa cadena, que debería ser constante o almacenarla en algún lado para luego usarla... lo que lleva a que, por ejemplo, si la almaceno, y un atacante consigue entrar a mi base de datos, tiene acceso a ella, por lo que la supuesta seguridad añadida ya no es tal.

¿Qué objeto tiene entonces esa semilla o o salt?

Gracias... un saludo
  #2 (permalink)  
Antiguo 24/11/2014, 11:46
 
Fecha de Ingreso: abril-2012
Mensajes: 124
Antigüedad: 12 años
Puntos: 3
Respuesta: Encriptar contraseñas

http://es.wikipedia.org/wiki/Sal_%28...graf%C3%ADa%29
__________________
Mi web de programación en PHP en construcción, claro. Un dia de esos pongo algo.
  #3 (permalink)  
Antiguo 24/11/2014, 14:14
Avatar de solmedina87  
Fecha de Ingreso: noviembre-2014
Mensajes: 68
Antigüedad: 9 años, 5 meses
Puntos: 4
Respuesta: Encriptar contraseñas

Yo generalmente uso MD5 porque siempre me pareció muy simple.
En cuanto a seguridad todos son muy seguros, si no me equivoco MD5 encripta con una cadena de 32 caracteres en hexadecimal y SHA1 con una de 40.

Acá lo explican bastante simple:
[URL="http://www.codejobs.biz/es/blog/2014/02/18/tipos-de-cifrados-en-php-md5-sha1-y-salt#sthash.ErkeYCxy.dpbs"]http://www.codejobs.biz/es/blog/2014/02/18/tipos-de-cifrados-en-php-md5-sha1-y-salt#sthash.ErkeYCxy.dpbs[/URL]
  #4 (permalink)  
Antiguo 24/11/2014, 14:21
 
Fecha de Ingreso: noviembre-2014
Mensajes: 3
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Encriptar contraseñas

Hey!!! Qué velocidad!!

muchas gracias de verdad... pero aún me quedan dudas.

He leído lo que posteais y otras infos y en todas dicen que MD5 y SHA1 no son recomendables, el propio PHP lo dice, ya que se pueden saltar por fuerza bruta.

Lo del salt, creo que lo pillo, salvo una cosa... si lo uso, aun no salvándolo en ningún lado salvo dentro de propio script PHP, es único para todas las contraseñas que cifre desde ahí, por lo que llegado el caso un asaltante lo puede recueperar y listo, a usar la fuerza bruta.

Sin embargo, en otra web he leído que lo mejor es crear SALT aleatorios para cada contraseña, lo que desde luego complica enormemente a un asaltante describrar las contraseñas almacenadas en la base de datos.

Sin embargo, esta última opción me plantea la duda de ¿dónde guardo los SALT que he generado para cada contraseña encriptada? Si no los salvo ni siquiera yo podré validar las contraseñas.

Gracias... un saludo.
  #5 (permalink)  
Antiguo 25/11/2014, 05:05
 
Fecha de Ingreso: abril-2012
Mensajes: 124
Antigüedad: 12 años
Puntos: 3
Respuesta: Encriptar contraseñas

Hola,

El salt tampoco tiene que ser aleatorio, puedes combinar un texto &o$Ç¿7# con el nombre de usuario o la fecha de registro.
El salt sirve para dificultar un asalto por fuerza bruta: aunque alguien logre acceder a la base de datos tendrá muchas más dificultades para saber el password si no sabe qué has utilizado para salt.

Si saben el salt y el hash
__________________
Mi web de programación en PHP en construcción, claro. Un dia de esos pongo algo.

Etiquetas: contraseñas, encriptar
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:59.