/// <summary>
/// 拼多多签名
/// </summary>
/// <returns></returns>
public static string GetSign(Dictionary<string, string> param)
{
//拼多多 签名认证
//*签名算法
//POP目前支持的签名算法为:MD5(sign_method=md5),签名大体过程如下:
//1-所有参数进行按照首字母先后顺序排列
//2-把排序后的结果按照参数名+参数值的方式拼接
//3-拼装好的字符串首尾拼接client_secret进行md5加密后转大写,secret的值是拼多多开放平台后台分配的client_secret
//Dictionary<string, string> param = new Dictionary<string, string>();
//param.Add("type", "pdd.goods.cats.get");
//param.Add("data_type", "JSON");
//param.Add("timestamp", "1579145265");
//param.Add("client_id", "ssssss");
//param.Add("parent_cat_id", "0");
//param.Add("client_secret", "ccccc");
string sclient_secret = string.Empty;
string jstring = string.Empty;
Dictionary<string, string> list = param.OrderBy(o => o.Key).ToDictionary(o => o.Key, p => p.Value);
foreach (KeyValuePair<string, string> kv in list)
{
if (kv.Key != "client_secret")
{
jstring += kv.Key + kv.Value;
}
else
{
sclient_secret = kv.Value;
}
}
jstring = sclient_secret + jstring + sclient_secret;
string md5jstring = Utils.Common.PubEncypt.MD5(jstring).ToUpper();
return md5jstring;
}