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, $mdo, mcrypt_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, $mdo, mcrypt_create_iv(mcrypt_get_iv_size($cif, $mdo),MCRYPT_RAND) );
}
Código PHP:
$jsn = '{ "status":"respuesta_objeto", "nombre":"Junior", "apellido":"Hernandez", "email":"[email protected]" }';
$jsnEncrypt = encryptStr($jsn);
$jsnDecrypt = decryptStr($jsnEncrypt);
$jsnDecode = json_decode($jsnDecrypt);
Código PHP:
var_dump( json_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]" }"
Código PHP:
var_dump( $jsnDecode );
// DEVUELVE: NULL
Cualquier idea o enlace que me puedan facilitar se los voy a agradecer, porque es un problema que no contemplaba.