Foros del Web » Programando para Internet » PHP »

Phpass

Estas en el tema de Phpass en el foro de PHP en Foros del Web. Hola a todos!! Me gustaria, si es posible, que alguien me explicara el funcionamiento de phpass, y como integrarlo en un sistema para codificar claves ...
  #1 (permalink)  
Antiguo 07/01/2010, 17:59
Avatar de zeuslife  
Fecha de Ingreso: enero-2008
Ubicación: Madrid
Mensajes: 533
Antigüedad: 16 años, 3 meses
Puntos: 11
Phpass

Hola a todos!!
Me gustaria, si es posible, que alguien me explicara el funcionamiento de phpass, y como integrarlo en un sistema para codificar claves (y luego, codificando lo mismo otra vez, poder compararlo y dar acceso).

Saludos y Gracias!
__________________
Neversyn Software e Ingeniería
  #2 (permalink)  
Antiguo 07/01/2010, 18:49
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Phpass

Hola zeuslife que tal.
Para codificar te convendria usar md5() en tu sistema y luego cuando el usuario ingresa una clave y tu la recoges en tu script php la codificas tambien y comparas ambas. Se entiende?
Con esto ya basta en cuestiones de seguridad.

Otra cosa totalmente al margen: tienes esta frase en tu firma que intuyo no es lo que quieres:

Oko por ojo, y el mundo acabará ciego - Mahadma Ghandi

Suerte
__________________
HV Studio
Diseño y desarrollo web
  #3 (permalink)  
Antiguo 08/01/2010, 04:18
Avatar de zeuslife  
Fecha de Ingreso: enero-2008
Ubicación: Madrid
Mensajes: 533
Antigüedad: 16 años, 3 meses
Puntos: 11
Respuesta: Phpass

Cierto lo de la firma, ahora lo cambio muchas gracias. =D
Ya, si yo uso md5. Pero, me gustaria aprender el uso de phpass, y saber como hace para generar la codificación, y como puedo implementarla en un sistema. Ya que, aunque digan que md5 es unidireccional... que quieren que les diga, yo me he encontrado con páginas y sistemas, en las que insertas una clave con mayusculas, minusculas, símbolos y números y la descodificaban en segundos, por lo tanto muy seguro no es, aunque sea el más usado. Por lo tanto, si me pudiesen proporcionar info sobre phpass, les estaria muy agradecido.

Un Saludo!!
__________________
Neversyn Software e Ingeniería
  #4 (permalink)  
Antiguo 08/01/2010, 07:10
 
Fecha de Ingreso: julio-2009
Mensajes: 8
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Phpass

Un ejemplo simple, al que hay que añadir otras comprobaciones y métodos de seguridad, aparte del MD5.

Código PHP:
    $usuario $_POST["usuario"];
    
$password $_POST["password"];
    
$query mysql_query('SELECT Password, Usuario FROM usuarios WHERE Usuario=\''.$usuario.'\'');
    if(
$row mysql_fetch_array($result)) {
        if(
$row["Password"] == md5($password)){
            
// Login Realizado
            
echo "Bienvenido!";
        }
        else
        {
            
// Password incorrecta
            
echo "Clave incorrecta, vuelva a la pagina anterior e intente nuevamente";
        }
    }
    else    {
        echo 
'Usuario no registrado.';
    } 
No se si eso es lo que pedias,

Saludos.
  #5 (permalink)  
Antiguo 08/01/2010, 13:30
Avatar de zeuslife  
Fecha de Ingreso: enero-2008
Ubicación: Madrid
Mensajes: 533
Antigüedad: 16 años, 3 meses
Puntos: 11
Respuesta: Phpass

Gracias SupeYuX por tu interes, pero no, no es lo que pedia. Busco información sobre como implementar y usar Phpass.

Muchas gracias! =D
__________________
Neversyn Software e Ingeniería
  #6 (permalink)  
Antiguo 08/01/2010, 14:05
Avatar de SergeMedina  
Fecha de Ingreso: septiembre-2007
Ubicación: Guadalajara, Jalisco
Mensajes: 459
Antigüedad: 16 años, 7 meses
Puntos: 20
Respuesta: Phpass

Nunca he usado phpass, pero viendo el script que incluye llamado test.php puedes descifrar su funcionamiento. Lo que comentas sobre webs que "descifran" hashes md5, realmente no lo descifran, tienen una lista de hashes con sus respectivos significados, es por eso que "lo descifran en segundos". La unica forma de descifrar un hash unidireccional (Que yo conozco) es mediante fuerza bruta (brute force).

Para cuestión de tu aplicación te recomiendo utilizar la función sha1 de php, o la libreria mcrypt, ya que phpass parece que hace tiempo no lo actualizan.

Saludos.
__________________
I see dead pixels
  #7 (permalink)  
Antiguo 08/01/2010, 16:14
Avatar de zeuslife  
Fecha de Ingreso: enero-2008
Ubicación: Madrid
Mensajes: 533
Antigüedad: 16 años, 3 meses
Puntos: 11
Respuesta: Phpass

Hola SergeMedina, gracias por contestar. Ya intenté averiguar su funcionamiento, y todavia no lo he logrado, ya que cada vez que me encripta algo, lo hace de forma distinta :S . Y, si, lo de las páginas que desencriptan md5, es cierto que algunas usan eso, pero no todas. Yo me inventé una clave totalmente aleatoria, solo para probar, con todo lo que pude meterle, y puedo jurar que me la descifró. Desde entonces ando buscando algún tipo de codificación nueva, o más segura, ya que md5 me defraudó. De ahí que me pusiera a ver que usaban scripts como phpbb3, o wordpress, y encontrar esa función.

Muchas gracias!
__________________
Neversyn Software e Ingeniería
  #8 (permalink)  
Antiguo 08/01/2010, 19:44
Avatar de SergeMedina  
Fecha de Ingreso: septiembre-2007
Ubicación: Guadalajara, Jalisco
Mensajes: 459
Antigüedad: 16 años, 7 meses
Puntos: 20
Respuesta: Phpass

De casualidad tienes el link de la pagina para darle una mirada?
En cuanto a que te genera hashes distintos, si es cierto, no lei muy a fondo su funcionamiento.

Yo tengo una implementación de una clase en php que utiliza mcrypt para encriptar y desencriptar texto, en este caso lo uso para enviar datos en la url para activar un usuario:

Código PHP:
Ver original
  1. public function encode($word){
  2.         $word = trim($word);
  3.         $iv = substr(md5($this->key),0,mcrypt_get_iv_size(MCRYPT_CAST_256,MCRYPT_MODE_CFB));
  4.         $word = mcrypt_cfb (MCRYPT_CAST_256, $this->key, $word, MCRYPT_ENCRYPT, $iv);
  5.         $word = base64_encode($word);
  6.         return rawurlencode($word);
  7.     }
  8.  
  9.     public function decode($word){
  10.         $word = rawurldecode($word);
  11.         $word = base64_decode($word);
  12.         $iv = substr(md5($this->key), 0,mcrypt_get_iv_size (MCRYPT_CAST_256,MCRYPT_MODE_CFB));
  13.         $word = mcrypt_cfb (MCRYPT_CAST_256, $this->key, $word, MCRYPT_DECRYPT, $iv);
  14.         return trim($word);
  15.     }
__________________
I see dead pixels
  #9 (permalink)  
Antiguo 09/01/2010, 08:00
Avatar de zeuslife  
Fecha de Ingreso: enero-2008
Ubicación: Madrid
Mensajes: 533
Antigüedad: 16 años, 3 meses
Puntos: 11
Respuesta: Phpass

Mmmm.... muchas gracias por el código SergeMedina, voy a darle un vistazo a ver que tal :D La página del proyecto phpass? Es PHPass.

Saludos y muchas gracias!
__________________
Neversyn Software e Ingeniería

Etiquetas: Ninguno
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 14:43.