$map
就是签名需要的参数构建的数组,$key
为商户平台的秘钥key,$type
为加密类型,一般为MD5酌情调整
private function sign($map , $key, $type ='MD5') {
if (!empty($map)) {
ksort($map);
$url = $this->createLinkstring($map);
// var_dump($url);
$url = $url . '&key='.$key;
if ($type === 'MD5') {
$url = strtoupper(md5($url));
} else {
$url = hash_hmac('sha256',$url,$key);
}
} else {
throw new RuntimeException('签名数据异常!!');
}
//签名步骤四:所有字符转为大写
return strtoupper($url);
}