Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] ¿Mejor metodo para encriptar contraseñas en PHP?

Estas en el tema de ¿Mejor metodo para encriptar contraseñas en PHP? en el foro de PHP en Foros del Web. Hola amigos. Hoy vengo con esta duda, he visto mucha información en Internet y por lo que vi en foros y otras webs la mejor ...
  #1 (permalink)  
Antiguo 05/04/2013, 21:51
 
Fecha de Ingreso: abril-2013
Ubicación: Barquisimeto
Mensajes: 4
Antigüedad: 11 años
Puntos: 0
Pregunta ¿Mejor metodo para encriptar contraseñas en PHP?

Hola amigos.

Hoy vengo con esta duda, he visto mucha información en Internet y por lo que vi en foros y otras webs la mejor forma para encriptar contraseñas es usar MD5 ya que no puede ser desencriptadas sus cadenas, pero por fuerza bruta y utilizando algunas bases de datos de algunos Hackes puede llegar a ser muy vulnerable este método.

Tambien ví, que se pueden combinar dos metedos de encriptacion como Sha-1 y MD5 para un hacer un sistema de seguridad más robusto, es decir sería algo como:

Código:
$Cifrado = sha1(md5($pass))
Y además podria agregarle una cadena personalizada para hacerlo más seguro. Pero la desventaja de esto seria la velocidad de cifrado (Que es algo minimo, pero sería algo importante).

Pero bueno, todo esto que les digo es para saber cual sería en metodo de cifrado más seguro y rapido.

-Saludos y espero que me ayuden.
  #2 (permalink)  
Antiguo 05/04/2013, 21:53
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: ¿Mejor metodo para encriptar contraseñas en PHP?

Consulta el PHP Security Consortium: http://phpsec.org/

Un comentario adicional: si deseas verdadera seguridad el tiempo que toma preservarla es insignificante, no te confundas.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 06/04/2013, 01:04
Avatar de alex_dh  
Fecha de Ingreso: septiembre-2011
Ubicación: Kreuzberg
Mensajes: 235
Antigüedad: 12 años, 7 meses
Puntos: 14
Respuesta: ¿Mejor metodo para encriptar contraseñas en PHP?

a ver, si leemos el manual de PHP sobre md5() dice:

"Dada la velocidad de este algoritmo de hash, se recomienda no utilizar esta función para proteger las contraeñas."

probemos con sha1()

el manual de php dice "Dada la velocidad de este algoritmo de hash, se recomienda no utilizar esta función para proteger las contraeñas."

YO USO Y RECOMIENDO CRYPT()
__________________
Avanzado desarrollador HTML, CSS y programador PHP, MYSQL, JAVASCRIPT

=========CALLEJEROS INOCENTES=========
  #4 (permalink)  
Antiguo 06/04/2013, 12:35
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: ¿Mejor metodo para encriptar contraseñas en PHP?

Cita:
Iniciado por Spiderwpc Ver Mensaje
Hola amigos.

Hoy vengo con esta duda, he visto mucha información en Internet y por lo que vi en foros y otras webs la mejor forma para encriptar contraseñas es usar MD5
No se donde lo viste , lo primero que debes hacer es hechar un vistazo al manual, hay encontraras siempre tus respuestas.

PHP DESACONSEJA USAR MD5 Y SHA1

Lo correcto es usar crypt como te han dicho y ademas usar el algoritmo blowfish

te dejo un enlace http://es.php.net/manual/es/faq.passwords.php

Última edición por webankenovi; 06/04/2013 a las 12:50
  #5 (permalink)  
Antiguo 06/04/2013, 16:42
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años
Puntos: 131
Respuesta: ¿Mejor metodo para encriptar contraseñas en PHP?

En lo personal usaría sha1 o md5 pero no crypt por que esta función devuelve resultados diferentes segun la plataforma.

Osea si un dia decidieras migrar tu web a otro server tendrias la posibilidad que tu web no jalara(solo las contraseñas)

Salu2
  #6 (permalink)  
Antiguo 06/04/2013, 16:53
Avatar de oscard41  
Fecha de Ingreso: mayo-2012
Ubicación: Caracas
Mensajes: 288
Antigüedad: 12 años
Puntos: 8
Respuesta: ¿Mejor metodo para encriptar contraseñas en PHP?

creo que por ahi lei que es mejor no usar md5 ni sha1 por que ya hay programas que decifran igual el pass pero se podria hacer algo asi:
Código PHP:
Ver original
  1. <?php
  2.  
  3.         $b=12365;
  4.         $patron='asdfwfe12365479eÑDFK';
  5.         $b=$patron.sha1(md5($b));
  6.         echo $b;
  7.  
  8. ?>
  #7 (permalink)  
Antiguo 07/04/2013, 10:45
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: ¿Mejor metodo para encriptar contraseñas en PHP?

Ademas de crypt tenemos algunas funciones nuevas en php 5.5 estos son las que deberiamos de utilizar


un ejemplo practico

registro
Código PHP:
Ver original
  1. <?php
  2.  
  3. $options = [
  4.     'cost' => 7,
  5.     'salt' => 'BCryptRequires22Chrcts',
  6. ];
  7.  
  8. $hash = password_hash("rasmuslerdorf", PASSWORD_BCRYPT, $options);
  9.  
  10. ?>

validacion

Código PHP:
Ver original
  1. <?php
  2.  
  3. if (password_verify($_POST['password'], $hash)) {
  4.     echo '¡La contraseña es válida!';
  5. } else {
  6.     echo 'La contraseña no es válida.';
  7. }
  8.  
  9. ?>

se utiliza el algoritmo blowfish y ademas password_hash() automaticamente si no se le especifica un salt lo creara aleatorio al igual que el coste algoritmico

dejo aqui info

http://es.php.net/manual/es/book.password.php

md5 se deberia de usar en mi opinion para hashes de ficheros para verificar .
  #8 (permalink)  
Antiguo 07/04/2013, 10:49
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: ¿Mejor metodo para encriptar contraseñas en PHP?

Deberíamos, pero lastimosamente los hosting no van a correr a poner php 5.5.0, toca acomodarnos a lo que hay. Además sigue beta.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #9 (permalink)  
Antiguo 07/04/2013, 10:51
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: ¿Mejor metodo para encriptar contraseñas en PHP?

digo en un futuro.... yo uso 5.4 , como tu dices toca acomodarnos y de momento para mi la mejor opcion es crypt como dije y blowfish.

  #10 (permalink)  
Antiguo 08/04/2013, 13:09
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: ¿Mejor metodo para encriptar contraseñas en PHP?

Cita:
Iniciado por hackjose Ver Mensaje
En lo personal usaría sha1 o md5 pero no crypt por que esta función devuelve resultados diferentes segun la plataforma.

Osea si un dia decidieras migrar tu web a otro server tendrias la posibilidad que tu web no jalara(solo las contraseñas)

Salu2
La verdad yo no sabia nada sobre esto , pero me puse a indagar y encontre varias respuestas

- crypt s es portable desde sus inicios usando algoritmos como CRYPT_STD_DES y CRYPT_MD5

- desde la version 5.3 permite el uso de los diferentes algoritmos sin importar lo que ofrezca o deje de ofrecer el sistema , 100%!00 portable

extraido de php

Nota:

A partir de PHP 5.3.0, PHP contiene su propia implementación y la utilizará si el sistema carece de soporte para uno o varios de los algoritmos.

si efectivamente antes de 5.3 usamos en un sistema un algoritmo digamos blowfish y migramos a otro sistema y en ese no se encuentra el algoritmo (digamoslo asi para que se entienda bien) logicamente como dices " devuelve resultados diferentes segun la plataforma "

espero haber aclarado un poco esta cuestion.


saludos ::;. . . ..
  #11 (permalink)  
Antiguo 20/06/2013, 23:13
 
Fecha de Ingreso: abril-2013
Ubicación: Barquisimeto
Mensajes: 4
Antigüedad: 11 años
Puntos: 0
Respuesta: ¿Mejor metodo para encriptar contraseñas en PHP?

Muchas Gracias a Todos! Me sirvieron sus comentarios!

Etiquetas: cadenas, cifrado, encriptacion, md5, metodo
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 23:47.