function pos_MakeSign($array, $key)
{
// 签名步骤一:按字典序排序参数
ksort($array);
$string = pos_ToUrlParams($array);
// 签名步骤二:在string后加入KEY
$string = $string . “&” . $key;
// 签名步骤三:SHA256加密 true 是转成二进制 然后再转成16进制
$string = bin2hex(hash(‘sha256’, $string, true));
// 签名步骤四:所有字符转为大写
$result = strtoupper($string);
return $result;
}
function pos_ToUrlParams($arr)
{
$buff = “”;
foreach ($arr as $k => $v) {
if ($k != “sign” && $v != “” && ! is_array($v)) {
$buff .= $k . “=” . $v . “&”;
}
}
$buff = trim($buff, “&”);
echo $buff;
return $buff;
}