当前位置:编程学习 > C#/ASP.NET >>

阿里巴巴开放平台额签名计算

在线的大侠有没有谁研究过阿里巴巴开放平台的签名计算啊  我按照官方的计算方法去计算结果总是不符,请教一下各位大侠
官方相关说明:http://gw.open.1688.com/dev/tools/app_signature.html

/// <summary>
        /// 签名参数生成工具类
        /// </summary>
        //paramDic: 请求参数,即queryString + request body 中的所有参数
        public static string dengsign(Dictionary<string, string> paramDic)
        {
            return dengsign(paramDic, strAppSecret);
        }
        public static string dengsign(Dictionary<string, string> paramDic, string appSecret)
        {
            //此签名是为得到code
            //code网址 样式 http://gw.open.china.alibaba.com/auth/authorize.htm?client_id=1003528&site=china&redirect_uri=http://localhost&_aop_signature=EFD8FA6C5DC98826AD68D3D2EB18FDF66EEC2D6F
            //

            byte[] signatureKey = Encoding.UTF8.GetBytes(appSecret);
            List<string> list = new List<string>();
            foreach (KeyValuePair<string, string> kv in paramDic)
            {
                list.Add(kv.Key + kv.Value);
            }
            list.Sort();
            string tmp = "";
            foreach (string kvstr in list)
            {
                tmp = tmp + kvstr;
            }

            //HMAC-SHA1
            HMACSHA1 hmacsha1 = new HMACSHA1(signatureKey);
            hmacsha1.ComputeHash(Encoding.UTF8.GetBytes(tmp));
            byte[] hash = hmacsha1.Hash;
            return BitConverter.ToString(hash).Replace("-", string.Empty).ToUpper();
        }
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,