Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: ‭lipman en 25 Diciembre 2008, 13:33 pm



Título: Acerca de la cifrado de la contraseña
Publicado por: ‭lipman en 25 Diciembre 2008, 13:33 pm
Veamos, quiero hacer un script para noticias en foros smf 1.1.7, y necesariamente, necesito conectarme a la base de datos para comprobar la contraseña y nombre de usuario del que escribe la noticia (en caso de que estén en la base de datos, es decir, si están registrados, se publica la noticia, y en caso contrario manda un error).

Me he encontrado con el problema que no puedo comparar el nombre de usuario y contraseña con el de la base de datos del foro smf 1.1.7, porque no conozco la cifrado que este foro usa.

Es decir, quiero saber que cifrado usa para guardar las contraseñas, y así poder compararla con la del usuario. He probado y no es md5, ni tampoco con crypt, ni sha1.

Lo que si que sé es que aquí: 4386458bcdc844c7ef8a205eeae82bb58a9d0dac pone wasder

He probado tambien a bajarme el foro smf 1.1.7 y ver los archivos pero no lo logro encontrar/entender nada.

¿Que cifrado puede ser..?

Saludos y gracias


Título: Re: Acerca de la cifrado de la contraseña
Publicado por: mit en 25 Diciembre 2008, 17:27 pm
mmm amigo, busque un poco al respecto tambien sobre la encriptacion de las claves sobre foros smf, pero nada, pues lo unico que se me ocurre es que busques bien el archivo donde se hace la insersion del registro de un nuevo usuario, ahi debe de decirte el sistema de encriptacion que usa, buscale bien  :)

saludos lipman


Título: Re: Acerca de la encriptación de la contraseña
Publicado por: luiggy2 en 25 Diciembre 2008, 18:46 pm
Siento decirte que la encriptación que usa (md5) no se puede descifrar, por lo tanto, lo que tienes que hacer es cifrar la password y compararla una vez cifrada.

Saludos!

Posdata: Puede que te sirva este otro tema:
http://foro.elhacker.net/php/dudas_login_registrar-t238085.0.html (http://foro.elhacker.net/php/dudas_login_registrar-t238085.0.html)


Título: Re: Acerca de la cifrado de la contraseña
Publicado por: mit en 25 Diciembre 2008, 19:23 pm
Siento decirte que la cifrado que usa (md5) no se puede descifrar, por lo tanto, lo que tienes que hacer es cifrar la password y compararla una vez cifrada.

Saludos!

Posdata: Puede que te sirva este otro tema:
http://foro.elhacker.net/php/dudas_login_registrar-t238085.0.html (http://foro.elhacker.net/php/dudas_login_registrar-t238085.0.html)

La encriptacion no es MD5, lipman ya probo esta, lo ha mencionado, el ya intento primero cifrar y despues comparar, mas no compara sin cifrar, es por eso que menciona que ya probo MD5, crypt y Sha1

Saludos


Título: Re: Acerca de la cifrado de la contraseña
Publicado por: ‭lipman en 26 Diciembre 2008, 11:32 am
Si, como dice mit, ya las probé esas.

Siento decirte que la cifrado que usa (md5) no se puede descifrar, por lo tanto, lo que tienes que hacer es cifrar la password y compararla una vez cifrada.

Eso mismo deseo xD. Mi idea es hacer con un iframe, una parte del index del foro smf como un sitio para postear noticias, y claramente, solamente lo podrán hacer los usuarios.

Ya he descubierto la cifrado que es, y es sha1, lo que pasa que no cifra la contraseña, me explico con un ejemplo.

Nombre de usuario: lipman
Contraseña: 123456789
Contraseña para cifrar: lipman123456789

Es decir, que la contraseña que guarda el foro smf es la suma del nick y de la contraseña encriptadas a sha1 (un buen método..) pero antes de eso, pasa la contraseña para cifrar por una función que le quita carácteres que puedan ser maliciosos ^^

Un saludo


Título: Re: Acerca de la cifrado de la contraseña
Publicado por: mit en 26 Diciembre 2008, 19:06 pm
Por lo que entendi ya resolviste el problema no es asi?? :)
supongo que la funcion que usa es parecida a esta:
function protege($texto)
   {
      $texto = str_replace("'", "\'", $texto);
      $texto = htmlspecialchars($texto);
      $texto = htmlentities($texto);
      $texto = trim($texto);
      return $texto;
   }
llamada
$user=protege($_REQUEST['user']);
$pass=protege($_REQUEST['pass']);
//Encriptacion

$contrasena=sha1($user.$pass);

if($contrasena==$contrasenaBD)
{
}
else
     echo 'Verifica la contrasena';


Supongo que te quedo algo parecido a esto tu solucion

Saludos lipman :)