Foros del Web » Programando para Internet » PHP »

Problema con desencriptacion

Estas en el tema de Problema con desencriptacion en el foro de PHP en Foros del Web. Hola a todos, tengo la siguiente duda: Tengo un Servidor con Windows NT, Apache y PHP instalados. Estoy utilizando el modulo mcrypt de php para ...
  #1 (permalink)  
Antiguo 30/03/2005, 17:12
 
Fecha de Ingreso: julio-2001
Ubicación: León, Gto.
Mensajes: 119
Antigüedad: 22 años, 9 meses
Puntos: 2
Problema con desencriptacion

Hola a todos, tengo la siguiente duda:

Tengo un Servidor con Windows NT, Apache y PHP instalados. Estoy utilizando el modulo mcrypt de php para la encriptacion y desencriptacion de informacion. Ya copie el archivo "libmcrypt.dll" en la carpeta de system32 y descomente la linea que levanta el modulo en el "php.ini". Es decir, ya esta listo para trabajar con las funciones de mcrypt.

Las funciones que me encriptan trabajan muy bien, pero el problema esta con las funciones que me desencriptan esa informacion ya que no funcionan o se quedan 'pensando' y no hacen nada.

Mi pregunta es: ¿el archivo "libmcrypt.dll" funciona para cualquier version de windows (9x, XP, NT) o saben si se necesita uno especial para cada version?
¿Tengo que hacer algo mas o instalarle otra cosa al servidor?

Esto mismo lo tengo instalado en una maquina con Windows XP y todo funciona sin ningun problema, de alli mi pregunta.
__________________
. . : : chunga : : . .
  #2 (permalink)  
Antiguo 31/03/2005, 07:22
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
En principio .. si te funciona la "encriptación" que usa de por sí dicha librería (a traves de la extensión correspondiente: php_mcrypt.dll -> usa libmcrypt.dll) .. no deberías tener problemas con la "des-encriptación" ..

Podrías colocar el código que usas por si hay algún problema en el ...

Un saludo,
  #3 (permalink)  
Antiguo 31/03/2005, 09:38
 
Fecha de Ingreso: julio-2001
Ubicación: León, Gto.
Mensajes: 119
Antigüedad: 22 años, 9 meses
Puntos: 2
Probe con dos formas para hacer la encriptacion/desencriptacion. Este es el codigo de la primera:

<?php
if(!extension_loaded('mcrypt')) dl('php_mcrypt.dll');

$texto = "este texto es muy secreto y lo voy a encriptar";
$key = "llave secreta";

$iv_size = mcrypt_get_iv_size(MCRYPT_XTEA, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);

$st_NumeroEncriptado = mcrypt_ecb(MCRYPT_BLOWFISH, $key, $texto, MCRYPT_ENCRYPT, $iv);
$st_CodificaNumero = urlencode($st_NumeroEncriptado);
$st_DecodificaNumero = urldecode($st_CodificaNumero);
$st_NumeroDesencriptado = mcrypt_ecb(MCRYPT_BLOWFISH, $key, $st_DecodificaNumero, MCRYPT_DECRYPT, $iv);
?>

Y este es el de la segunda:

<?php
if(!extension_loaded('mcrypt')) dl('php_mcrypt.dll');

$input = "este texto es muy secreto y lo voy a encriptar";
$key = "llave secreta";

# Abrimos el modulo del algoritmo y el modo a ser utilizado.
$td = mcrypt_module_open(MCRYPT_BLOWFISH, '', MCRYPT_MODE_CBC, '');
# Creamos el vector de inicializacion.
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
# Inicializa todos los buffers necesarios para la encriptacion.
mcrypt_generic_init($td, $key, $iv);
# Encriptamos los datos.
$encrypted_data = mcrypt_generic($td, $input);
$st_CodificaNumero = urlencode($encrypted_data);

# Desinicializa el modulo de encriptacion y limpia todos los buffers.
mcrypt_generic_deinit($td);
# Cierra el modulo mcrypt.
mcrypt_module_close($td);


$td = mcrypt_module_open(MCRYPT_BLOWFISH, '', MCRYPT_MODE_CBC, '');
mcrypt_generic_init($td, $key, $iv);
# Desencriptamos los datos.
$st_DecodificaNumero = urldecode($st_CodificaNumero);
$decrypted_data = mdecrypt_generic($td, $encrypted_data);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
?>

Lo extraño esque en una maquina con Windows XP funciona perfectamente y en una con Windows NT no. Por eso mi pregunta era que si tenia algo que ver la version del windows o la version del libmcrypt.dll, o si tengo que instalar otra cosa para hacer que funcione.

Segun lo que lei solo se tenian que hacer dos cosas para habilitar el modulo mcrypt:
1. Copiar el archivo "libmcrypt.dll" a la carpeta de system32 de windows.
2. Quitar el ";" de la linea ";extension=php_mcrypt.dll" del archivo php.ini (aunque en mi caso lo que hice fue cargar el modulo dinamicamente, porque no tengo acceso al php.ini)

Eso es todo lo que hay que hacer...?
__________________
. . : : chunga : : . .
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 08:52.