Ejemplo n.º 1
0
        /// <summary>
        /// 进行认证签名
        /// </summary>
        /// <param name="dic"></param>
        /// <param name="appsecret"></param>
        /// <returns></returns>
        public static string ToSign(Dictionary <string, string> dic, string appsecret)
        {
            if (dic == null)
            {
                return("");
            }

            IOrderedEnumerable <KeyValuePair <string, string> > _newdic = dic.OrderBy(x => x.Key);

            StringBuilder sb = new StringBuilder();

            foreach (var f in _newdic)
            {
                if (f.Key == "sign")
                {
                    continue;
                }
                sb.Append(f.Key + "=" + f.Value + "&");
            }
            if (sb.Length > 0)
            {
                sb.Append("&appsecret=" + appsecret);
            }
            else
            {
                sb.Append("appsecret=" + appsecret);
            }
            string si = Authcomm.ToMD5String(sb.ToString());

            return(si);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 默认签名方式
        /// all StringField will be signed and will add timespan,appid,appsecret; appid、appsecret from web.config or app.config
        /// </summary>
        /// <param name="para"></param>
        /// <returns></returns>
        public static void DefaultSignProvider(List <ParmField> para)
        {
            if (para == null)
            {
                para = new List <ParmField>();
            }
            para.Add(new StringField("timespan", Authcomm.GetTimeSpan()));
            para.Add(new StringField("appid", Authcomm.GetAppConfig("appid")));
            string        appsecret = Authcomm.GetAppConfig("appsecret");
            StringBuilder sb        = new StringBuilder();

            foreach (ParmField f in para)
            {
                if (string.IsNullOrEmpty(f.Value))
                {
                    continue;
                }
                if (f.GetType() == typeof(StringField))
                {
                    sb.Append(f.Key.Trim() + "=" + f.Value.Trim() + "&");
                }
            }
            sb.Append("appsecret=" + appsecret);
            string sign = Authcomm.ToMD5String(sb.ToString());

            para.Add(new StringField("sign", sign));
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 进行认证签名
        /// </summary>
        /// <param name="para"></param>
        /// <param name="appsecret"></param>
        public static void ToSign(List <ParmField> para, string appsecret)
        {
            if (para == null)
            {
                para = new List <ParmField>();
                //   para.Add(new StringField("timespan",GetTimeSpan().ToString()));
            }
            IOrderedEnumerable <ParmField> _newpara = para.OrderBy((a) => { return(a.Key); });
            StringBuilder sb = new StringBuilder();

            foreach (ParmField f in _newpara)
            {
                if (f.GetType() == typeof(StringField))
                {
                    if (f.Key == "sign")
                    {
                        continue;
                    }
                    sb.Append(f.Key + "=" + f.Value + "&");
                }
            }
            if (sb.Length > 0)
            {
                sb.Append("&appsecret=" + appsecret);
            }
            else
            {
                sb.Append("appsecret=" + appsecret);
            }
            string si = Authcomm.ToMD5String(sb.ToString());

            para.Add(new StringField("sign", si));
        }