Autor Tema: Empleando Crypt  (Leído 1111 veces)

Desconectado Erik

  • PHPero Avanzado
  • ****
  • Mensajes: 271
  • Karma: 14
  • Sexo: Masculino
    • Ver Perfil
Empleando Crypt
« en: 26 de Diciembre de 2007, 16:45:23 pm »
Bueno, estube mirando en php.net, y se me quedo en la cabeza.
A partir de la variable $password (la que nosotros utilizaremos), recibiremos el hash de la password.

Código: [Seleccionar]
<?php
/* Como veis empezaremos declarando cual es la contraseña de la variable password, vease que pondremos 3 numeros y 3 letras al azar,
que seran hqs954*/
$password = &#39;hqs954&#39;;

// Ahora haremos el hash, la variable del hash sera hashcrypt
$hashcrypt crypt($password);

echo 
"$hashcrypt";
?>

Si tengo errores, agradeceria una corrección y una explicación, así aprendere php.
« Última modificación: 26 de Diciembre de 2007, 19:20:23 pm por mkas »
Código: [Seleccionar]
<?php
$myset 
"PHPER@ AVANZADO";
echo 
"Yo soy".$myset;
?>

Comunidad PHPeros

Empleando Crypt
« en: 26 de Diciembre de 2007, 16:45:23 pm »

Desconectado CarlosRdrz

  • Moderador Global
  • PHPero Master
  • *****
  • Mensajes: 2.505
  • Karma: 131
  • Sexo: Masculino
  • A.k.a. TLX
    • Ver Perfil
Re: Empleando Crypt en htpasswd
« Respuesta #1 en: 26 de Diciembre de 2007, 16:50:53 pm »
Bueno, no recibimos un hash aleatorio, recibimos el correspondiente a la password que pasamos por esa funcion. Es parecida a md5($cadena), pero esta utiliza otro sistema de encriptacion.
Un hash es una cadena encriptada y que nunca puede ser desencriptada, pues para encriptarla se utiliza un algoritmo irreversible.

Saludos
La dedicación de mi respuesta sera directamente proporcional a la dedicación de tu pregunta.
Hacer códigos que entiendan las máquinas es fácil, lo difícil y realmente útil es hacer códigos que entiendan las personas.
http://twitter.com/CarlosRdrz
http://www.carlosrdrz.es

Desconectado Erik

  • PHPero Avanzado
  • ****
  • Mensajes: 271
  • Karma: 14
  • Sexo: Masculino
    • Ver Perfil
Re: Empleando Crypt en htpasswd
« Respuesta #2 en: 26 de Diciembre de 2007, 16:53:06 pm »
Vale, gracias, me estas ayudando bastante. k+
Código: [Seleccionar]
<?php
$myset 
"PHPER@ AVANZADO";
echo 
"Yo soy".$myset;
?>

Desconectado Erik

  • PHPero Avanzado
  • ****
  • Mensajes: 271
  • Karma: 14
  • Sexo: Masculino
    • Ver Perfil
Re: Empleando Crypt en htpasswd
« Respuesta #3 en: 26 de Diciembre de 2007, 19:10:05 pm »
Bueno, no se porque, se me vino a la cabeza, re-encriptar un hash, ¿No creen que tendria mas seguridad?

Codigo re-hash x3:

Código: [Seleccionar]
<?php
$contraseña 
= &#39;aqui_tu_contraseña&#39;; // Aqui tendrias que colocar la password que deseas encriptar...
$contraseña2 crypt($contraseña); // encriptamos la pass
$contraseña3 crypt($contraseña2); // encriptamos el hash
$contraseña4 crypt($contraseña3); // encriptamos la encriptación del hash
echo $contraseña4// mostramos la encriptación de la encriptación del hash
?>

Si le puede ocurrir a cualquiera, pero mira, por generar codigos xd.
Código: [Seleccionar]
<?php
$myset 
"PHPER@ AVANZADO";
echo 
"Yo soy".$myset;
?>

Desconectado CarlosRdrz

  • Moderador Global
  • PHPero Master
  • *****
  • Mensajes: 2.505
  • Karma: 131
  • Sexo: Masculino
  • A.k.a. TLX
    • Ver Perfil
Re: Empleando Crypt en htpasswd
« Respuesta #4 en: 26 de Diciembre de 2007, 19:15:53 pm »
Si, hay mucha gente que hace eso porque existen algunos metodos para averiguar los hash. Este metodo se trata de introducir en una base de datos la cadena sin encriptar y el hash, entonces si un usuario introduce el hash en un campo de texto, este consulta con la base de datos y devuelve la cadena sin encriptar.

Una solucion es la que indica mkas, encriptar varias veces para entorpecer esto.

Saludos
La dedicación de mi respuesta sera directamente proporcional a la dedicación de tu pregunta.
Hacer códigos que entiendan las máquinas es fácil, lo difícil y realmente útil es hacer códigos que entiendan las personas.
http://twitter.com/CarlosRdrz
http://www.carlosrdrz.es

Desconectado Erik

  • PHPero Avanzado
  • ****
  • Mensajes: 271
  • Karma: 14
  • Sexo: Masculino
    • Ver Perfil
Re: Empleando Crypt en htpasswd
« Respuesta #5 en: 26 de Diciembre de 2007, 19:20:13 pm »
Hash, es mas dificil de desencriptar, casi imposible, es mas sencillo md5, que es el comun que conoce casi todo el mundo, muchísimas webs como mailworms o ethhgos, pueden desencriptar md5, pero hash casi nunca.

MD5:

Para encriptar cualquier cosa en md5, diriamos que es sencillisimo:

Código: [Seleccionar]
<?php
$tass 
tlx// xd, si no te importa pongo tu nick xd
$md5tass md5(tlx);
echo 
$md5tass;
?>

Aunque tambien con solo añadir 1 variable podriamos hacerlo, xd.

Código: [Seleccionar]
<?php
$tass 
md5(tlx);
echo 
$tass;
?>

El primer codigo lo puse, para que lo entendieran mejor.

EJEMPLOS:

HASH NORMAL
HASH x3
MD5 NORMAL
« Última modificación: 26 de Diciembre de 2007, 19:43:45 pm por mkas »
Código: [Seleccionar]
<?php
$myset 
"PHPER@ AVANZADO";
echo 
"Yo soy".$myset;
?>

Desconectado CarlosRdrz

  • Moderador Global
  • PHPero Master
  • *****
  • Mensajes: 2.505
  • Karma: 131
  • Sexo: Masculino
  • A.k.a. TLX
    • Ver Perfil
Re: Empleando Crypt
« Respuesta #6 en: 26 de Diciembre de 2007, 19:47:25 pm »
Ningun hash se puede desencriptar porque utilizan un algoritmo irreversible, de hecho se llaman hash a las cadenas que se han producido encriptando una cadena mediante un mecanismo irreversible.
Md5 y Crypt es exactamente igual de seguro, ambos son irreversibles y la unica diferencia es que la funcion md5() utiliza un mecanismo llamado md5() y crypt encripta con un mecanismo llamado DES, propio de los sistemas Unix.

Saludos
La dedicación de mi respuesta sera directamente proporcional a la dedicación de tu pregunta.
Hacer códigos que entiendan las máquinas es fácil, lo difícil y realmente útil es hacer códigos que entiendan las personas.
http://twitter.com/CarlosRdrz
http://www.carlosrdrz.es

Desconectado Erik

  • PHPero Avanzado
  • ****
  • Mensajes: 271
  • Karma: 14
  • Sexo: Masculino
    • Ver Perfil
Re: Empleando Crypt
« Respuesta #7 en: 26 de Diciembre de 2007, 19:49:52 pm »
en mailworm, se puede desencriptar hash, pero dificilmente lo aceptan.
Código: [Seleccionar]
<?php
$myset 
"PHPER@ AVANZADO";
echo 
"Yo soy".$myset;
?>

Conectado naveda

  • Administrador General
  • PHPero Master
  • *****
  • Mensajes: 2.282
  • Karma: 165
  • Sexo: Masculino
    • Ver Perfil
    • naveda.me
Re: Empleando Crypt
« Respuesta #8 en: 26 de Diciembre de 2007, 20:00:56 pm »
Hemos hablado muchas veces del tema de la desencriptacion de "hashes" y siempre acabamos diciendo lo mismo, lo que algunas personas hacen no es desencriptar propiamente dicho sino que prueban a encriptar cadenas hasta que se acierta pero no se mete el hash por un lado y sale desencriptado por el otro.
Por favor, leete las Normas