💶 MD5签名算法
1、将发送或接收到的所有参数按照参数名ASCII码从小到大排序(a-z),sign、sign_type、和空值不参与签名!
2、将排序后的参数拼接成URL键值对的格式,例如 a=b&c=d&e=f,参数值不要进行url编码。
3、再将拼接好的字符串与商户密钥KEY进行MD5加密得出sign签名参数,sign = md5 (a=b&c=d&e=f + KEY ) (注意:+ 为各语言的拼接符,不是字符!),md5结果为小写。
示例代码:
public function makeSign($data, $key) {
ksort($data);
$signStr = '';
foreach ($data as $k => $v) {
if($k != 'sign' && $k != 'sign_type' && $v != ''){
$signStr .= $k . '=' . $v . '&';
}
}
$signStr = substr($signStr, 0, -1);
$sign = md5($signStr . $key);
return $sign;
}