h5如何实现数据安全加密传输
h5利用api接口实现数据加密传输,具体方法如下:
function CurlPost($url, $param = null, $timeout = 10)
{
//初始化curl
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url); // 设置请求的路径
curl_setopt($curl, CURLOPT_POST, 1); //设置POST提交
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //显示输出结果
curl_setopt($curl, CURLOPT_TIMEOUT, $timeout);
//提交数据
if (is_array($param)) {
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($param));
} else {
curl_setopt($curl, CURLOPT_POSTFIELDS, $param);
}
//执行请求
$data = $data_str = curl_exec($curl);
//处理错误
if ($error = curl_error($curl)) {
$log_data = array(
'url' => $url,
'param' => $param,
'error' => '' . $error . '',
);
}
# 关闭CURL
curl_close($curl);
//json数据转换为数组
$data = json_decode($data, true);
//api返回数据解密
$api_des = config('api.mcrypt');
if ($api_des['is_open']) {
$data1 = Des::decode($data, $api_des['key'], $api_des['iv']);
$des_str = json_decode($data1, true);
}
if (!is_array($des_str)) {
$des_str = $data_str;
}
return $des_str;
}
如需要确保数据不出现泄露,还可以在数据传输中添加数据签名
//添加数据签名
function makeClientSign($param){
//数组排序
ksort($param)
//转换成json串
$json_str = json_encode($param);
//md5生成sign
$md5_result = md5($json_str);
return $md5_result;
}
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341