Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/01/2012, 09:12
Avatar de junihh
junihh
 
Fecha de Ingreso: febrero-2004
Ubicación: República Dominicana
Mensajes: 997
Antigüedad: 20 años, 2 meses
Puntos: 7
Problemas al leer un JSON desencriptado

Hola señores

Estoy trabajando un proyecto que me obliga a guardar un cookie con datos delicados del usuario, por lo que preferí encriptarlos. Lo siguiente es el método de encriptación que uso:

Código PHP:
function encryptStr($str)
{
    
$cph MCRYPT_RIJNDAEL_256;
    
$mdo MCRYPT_MODE_ECB;
    
$key 'ErEVy10BDg';
    
    return 
mcrypt_encrypt($cph$key$str$mdomcrypt_create_iv(mcrypt_get_iv_size($cif$mdo),MCRYPT_RAND) );
}

function 
decryptStr($str)
{
    
$cph MCRYPT_RIJNDAEL_256;
    
$mdo MCRYPT_MODE_ECB;
    
$key 'ErEVy10BDg';
    
    return 
mcrypt_decrypt($cph$key$str$mdomcrypt_create_iv(mcrypt_get_iv_size($cif$mdo),MCRYPT_RAND) );

Y esto la forma como lo aplico:

Código PHP:
$jsn '{ "status":"respuesta_objeto", "nombre":"Junior", "apellido":"Hernandez", "email":"[email protected]" }';
$jsnEncrypt encryptStr($jsn);
$jsnDecrypt decryptStr($jsnEncrypt);
$jsnDecode json_decode($jsnDecrypt); 
Entonces al probar:

Código PHP:
var_dumpjson_decode($jsn) );

// DEVUELVE: object(stdClass)#1 (4) { ["status"]=> string(16) "respuesta_objeto" ["nombre"]=> string(6) "Junior" ["apellido"]=> string(9) "Hernandez" ["email"]=> string(17) "[email protected]" } 
Código PHP:
var_dump$jsnDecrypt );

// DEVUELVE: string(128) "{ "status":"respuesta_objeto", "nombre":"Junior", "apellido":"Hernandez", "email":"[email protected]" }" 
Pero al tratar de usar el json_decode:

Código PHP:
var_dump$jsnDecode );

// DEVUELVE: NULL 
¿Cómo puedo hacer para que el json desencriptado pueda ser parseado por json_decode, o acaso no se puede y lo preferible es buscar otra alternativa?

Cualquier idea o enlace que me puedan facilitar se los voy a agradecer, porque es un problema que no contemplaba.
__________________
JuniHH
- Mi blog
- Mi portafolio

Última edición por junihh; 08/01/2012 a las 09:18