繁体   English   中英

如何使用JSON加密数据?

[英]How can I encrypt data in JSON?

我想通过JSONP在两个应用程序之间发送一些加密数据。 我正在使用PHP页面生成我的JSONP。 我正在尝试使用mcrypt加密我的JSONP密钥之一的值,如对此问题的答案之一所述:

$result_arr['logged_in'] = true;
$key = 'SuperSecretKey';
$encrypted = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, 'I want to encrypt this', MCRYPT_MODE_ECB);
$result_arr['payload'] = $encrypted;
print_r($result_arr);
echo 'authCallback(' . json_encode( $result_arr, JSON_UNESCAPED_UNICODE ) . ')';

print_r行输出带有许多Unicode类型符号的$result_arr['payload']值。 回显json_encoded值的行为null。 大概json_encode不喜欢非ASCII字符。 谁能告诉我我要去哪里错了? 是否有加密json_encode接受的另一种方法?

在json编码之前使用base64_encoding

$result_arr['payload'] = base64_encode($encrypted);

在接收端别忘了base64_decode

可能需要注意的是,OP的代码现已被弃用-我遇到了Google提出的Stackoverflow问题,经过更深入的搜索后,从PHP 7.1.0开始,mcrypt_encrypt现在被视为已弃用。

此处提供完整的详细信息-http: //php.net/manual/zh/function.mcrypt-encrypt.php

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM