首页 > Web开发 > 详细

url里面的参数不能带特殊字符

时间:2016-04-07 18:19:31      阅读:151      评论:0      收藏:0      [点我收藏+]

使用微信支付的签名函数的时候,%、&、=、/、\、=、+、#、?、。、- 和空格。这些特殊字符不应该直接出现在url中。否则签名会失败的。

private function sign($data){
	$stringA = "";
	// 按照参数名排序
	ksort($data);
	// 非空参数拼接
	foreach ($data as $key => $value) {
		if($value){
			$stringA .= "&" . $key . "=" . $value;
		}
	}
	// 加上商户的key
	$stringA .= "&key=" . $this->mch_key;
	// MD5 加密
	$signValue = md5(substr($stringA, 1));
	// 返回大写
	return strtoupper($signValue);
}

因为data里面的有个是商品描述的字段,不小心在里面加了个空格和-,导致总是签名错误。

url里面的参数不能带特殊字符

原文:http://www.cnblogs.com/wyzs/p/5364713.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!