Hola a todos, tengo un código el cual cifra una contraseña y de a poco voy a ir intentando hacer un sistema que la descencripte. Pero en el código aparecen cosas así:
$a = 0x6745 << 16 | 0x2301;
$b = 0xefcd << 16 | 0xab89;
$c = 0x98ba << 16 | 0xdcfe;
$d = 0x1032 << 16 | 0x5476;
$e = 0xc3d2 << 16 | 0xe1f0;
return sprintf("%08x%08x%08x%08x%08x",$a&0xffffffff,$b&0xffffffff,$c&0xffffffff,$d&0xffffffff,$e&0xffffffff);
Y no las comprendo, ¿utiliza hex en un código php?.
Está utilizando operadores bit a bit, si sabes pasar esos números a binario no es complicado saber qué valor está asignando a cada variable. Efectivamente se pueden usar números en hexadecimal en php, siempre que empiecen por 0x son hexadecimales, puedes usar este sencillo conversor para transformar los números a binario y decimal y luego realizar el desplazamiento de bits: http://easycalculation.com/hex-converter.php
Para saber como funciona lee un poco sobre los operadores bit a bit ( http://php.net/manual/es/language.operators.bitwise.php ).
En decimal sería así:
$a = 26437 << 16 | 8961;
$b = 61389 << 16 | 43913;
$c = 39098 << 16 | 56574;
$d = 4146 << 16 | 21622;
$e = 50130 << 16 | 57840;
si quieres solamente descifrar puedes reemplazar el return por print_r(sprintf(...)); exit;
Cita de: WHK en 29 Diciembre 2010, 03:28 AM
si quieres solamente descifrar puedes reemplazar el return por print_r(sprintf(...)); exit;
Pero no tiene lógica eso, sin el return no me devolvería un valor al utilizar el llamado de la función, no 'desencriptaria' los codigos ya cifrados que tengo.
aaah lo hiciste tu perdón jajaja pensaba que era un codigo de alguien y querias saber como descifrarlo :P, en fin no meto mas mi nariz xD