签名和请求
示例
{
"app_id":"appxxx", //业务id
"timestamp":"1418797988", //当前时间戳
"sign":"wiehdkajnsdkjahdkjashdkjashdkwedmnz",//md5加密体
"use_type":"1", //使用途径
"data":{
"alive_id":"l_5930c5a1c3c9f_KSgu9OZm"
}
}
参数说明
参数 | 是否必须 | 类型 | 说明 |
---|---|---|---|
app_id | 是 | string | 【公共参数】业务id |
timestamp | 是 | string | 【公共参数】当前时间戳 |
sign | 是 | string | 【公共参数】md5加密体 |
use_type | 否 | string | 【公共参数】使用方式(* 备注),100-超级权限 |
data | 是 | string | 【业务参数】json结构的业务请求参数 |
* 备注
1、use_type 可根据实际实际情况传入,具体的数据可能会针对不同的终端类型进行适配,例如数据 是提供给iOS使用,则填入1。
(类型:0-服务端自用,1-iOS,2-android,3-pc浏览器,4-手机浏览器,100-超级权限)
* 超级权限:在获取资源的时候,资源购买关系永远为真,资源链接会返回
加密方法
ksort($params); // 根据键名对字典序进行排序
$rawString ='';
$data_raw = [];
foreach ($params as $key => $value) {
if (is_array($value)||is_object($value)) {//如果是数组,将数据json一下
$returnedValue = json_encode($value,JSON_NUMERIC_CHECK );
}else{//默认字符串取原值
$returnedValue = (string)$value;
}
}
$rawString = join('&',$data_raw); //key1=value1&key2=value2&key3=value3...
$rawString .= '&app_secret='.$app_secret; //添加加密串
$sign = strtolower(md5($rawString)); //将参数链接串进行MD5加密,再转小写
示例
{
"app_id":"appsrqkmOWI3858", //业务id
"timestamp":"1418797998", //当前时间戳
"sign":"daksaxoicuonmwnbmashklqwkdhsbjaoiqwnxm",//md5加密体
"use_type":"1", //使用途径
"code":"0",//返回码,0为成功其余为失败
"err_msg":"success",
"data":{
"alive_id":"l_5930c5a1c3c9f_KSgu9OZm"
}
}
参数说明
参数 | 是否必须 | 类型 | 说明 |
---|---|---|---|
app_id | 是 | string | 【公共参数】业务id |
timestamp | 是 | string | 【公共参数】当前时间戳 |
sign | 是 | string | 【公共参数】md5加密体 |
use_type | 否 | string | 【公共参数】使用方式,跟请求保持一致 |
code | 是 | string | 【公共参数】返回码,0为成功其余为失败 |
msg | 是 | string | 【公共参数】错误信息,成功时为success |
data | 是 | string | 【业务参数】业务返回参数 |
1.
ksort($params); // 根据键名对字典序进行排序
$rawString ='';
$serverReturnSignString = '';
$data_raw = [];
foreach ($params as $key => $value) {
if ($key == 'sign') {
$serverReturnSignString = $value; //获取返回的sign
continue;
}
if (is_array($value)||is_object($value)) {//如果是数组,将数据json一下
$returnedValue = json_encode($value,JSON_NUMERIC_CHECK );
}else{//默认字符串取原值
$returnedValue = (string)$value;
}
$data_raw[] = $key . '=' . $returnedValue;
}
$rawString = join('&',$data_raw); //key1=value1&key2=value2&key3=value3...
$rawString .= '&app_secret='.$app_secret; //添加加密串
$sign = strtolower(md5($rawString)); //将参数链接串进行MD5加密,再转小写
if ($sign == $serverReturnSignString) {
return true;
} else {
return false;
}
修改于 2022-04-01 10:17:04