网站Sign算法 特殊符号导致加密错误
一个sign算法 原理很简单
代码如下
public string GetSig(string request, string body)
{
string result = request + body;
result = web.UrlDecode(result, Encoding.UTF8);
UrlHelper url = new UrlHelper(result);
result = url.Sort();
debug.WriteLine(result);
result = result.Replace("&", "");
debug.WriteLine(result);
result = Encoding.UTF8.GetBytes(result).Md5().ToHex().ToLower();
return result;
}
当body参数里面包含URL地址的时候 服务器提示签名错误
例如: referer=http://https://bbs.csdn.net/topics/new?forum_id=CSharp&id=1
经过调试 原因是参数里面包含了&字符 导致的分割错误
请教各位大神 应该如何处理