php 生成签名
2016-10-14 本文已影响0人
大数据小同学
- 将所有业务请求参数按字母先后顺序排序
- 参数名称和参数值链接成一个字符串A
- 在字符串A的首尾加上appsecret组成一个新字符串B
- 对字符串进行sha1加密并转化为大写得到签名sign
假设请求的参数为:f=1,b=23,k=33,排序后为b=23,f=1,k=33,参数名和参数值链接后为b23f1k33,首尾加上appsecret后sha1:sha1(secretkey1value1key2value2...secret)。
/**
* 签名
* @param $appSecret
* @param $params
* @return string
*/
public function sign($appSecret, $params){
if (!is_array($params))
$params = array();
ksort($params);
$text = '';
foreach ($params as $k => $v) {
$text .= $k . $v;
}
return strtoupper(sha1($appSecret . $text . $appSecret));
}