Ver Mensaje Individual
  #3 (permalink)  
Antiguo 28/05/2008, 14:55
Avatar de lcervantes
lcervantes
 
Fecha de Ingreso: abril-2002
Mensajes: 137
Antigüedad: 22 años
Puntos: 0
Exclamación Respuesta: Caracteres raros mcrypt

Hola Gator.
Antes que nada, gracias por contestar.

Te comento que yo no estoy usando codificaciones especiales.
Sencillamenteuso el php puro y duro.

Aqui va el codigo.

Código 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, '');
    
$td mcrypt_module_open(MCRYPT_TripleDES''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);
    echo 
"EN:" $encrypted_data "<br>";
    echo 
"EN:" convert_uuencode($encrypted_data) . "<br>";
    
//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, '');
    
$td mcrypt_module_open(MCRYPT_TripleDES''MCRYPT_MODE_CBC'');
    
mcrypt_generic_init($td$key$iv);
    
//Desencriptamos los datos.
    
$st_DecodificaNumero urldecode($st_CodificaNumero);
    
$decrypted_data mdecrypt_generic($td$encrypted_data);
    echo 
"LONG:" strlen($decrypted_data) ."<br>";
    echo 
"DES:$decrypted_data<br>";
    
mcrypt_generic_deinit($td);
    
mcrypt_module_close($td); 
De hecho no tiene nada especial, me lo baje de la web de PHP.net
Lo curioso son los caracteres que comentaba. Pero forman parte de la cadena de desencriptada, ya que si te fijas LONG es el total de caracteres y coincide con el total de caracteres desencriotados + caracteres raros.

Encuentras alguna explicación.