对接淘宝,银联支付 ,微信 的api,都需要加密然后post请求,加密算法都是一样的。具体如下
这是文档要求:
使用php比较简单 ascii编码 可以直接使用 ksort();
函数对关联数组按照键名进行升序排序。
具体代码如下
//加密算法
function sign($data, $secret_key){
$info = "";
$ary =array();
foreach( $data as $key=>$val){
if(is_array($val) ){
foreach( $val as $k=>$v){
$ary[$k]=$v;
}
}else{
$ary[$key] = $val;
}
}
//ac码排序
ksort($ary);
foreach( $ary as $key=>$val){
if ($info) {
$info .= "&" . $key . "=" . $val;
} else {
$info = $key . "=" . $val;
}
}
$strConvet = $info . '&key=' . $secret_key;
$strMd5 = strtoupper( md5($strConvet));
return $strMd5;
}