Exemplo n.º 1
0
        public virtual string CreateMd5Sign(string key, string value)
        {
            StringBuilder stringBuilder = new StringBuilder();
            ArrayList     arrayLists    = new ArrayList(Parameters.Keys);

            arrayLists.Sort();
            foreach (string arrayList in arrayLists)
            {
                string item = (string)Parameters[arrayList];
                if ((item == null || "".CompareTo(item) == 0 || "sign".CompareTo(arrayList) == 0 ? false : "key".CompareTo(arrayList) != 0))
                {
                    stringBuilder.Append(string.Concat(arrayList, "=", item, "&"));
                }
            }
            stringBuilder.Append(string.Concat(key, "=", value));
            string upper = MD5Util.GetMD5(stringBuilder.ToString(), GetCharset()).ToUpper();

            return(upper);
        }
Exemplo n.º 2
0
        public virtual bool isTenpaySign()
        {
            StringBuilder stringBuilder = new StringBuilder();
            ArrayList     arrayLists    = new ArrayList(parameters.Keys);

            arrayLists.Sort();
            foreach (string arrayList in arrayLists)
            {
                string item = (string)parameters[arrayList];
                if ((item == null || "".CompareTo(item) == 0 || "sign".CompareTo(arrayList) == 0 ? false : "key".CompareTo(arrayList) != 0))
                {
                    stringBuilder.Append(string.Concat(arrayList, "=", item, "&"));
                }
            }
            stringBuilder.Append(string.Concat("key=", getKey()));
            string lower = MD5Util.GetMD5(stringBuilder.ToString(), getCharset()).ToLower();

            setDebugInfo(string.Concat(stringBuilder.ToString(), " => sign:", lower));
            bool flag = getParameter("sign").ToLower().Equals(lower);

            return(flag);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 创建md5摘要,规则是:按参数名称a-z排序,遇到空值的参数不参加签名
        /// </summary>
        /// <param name="key">参数名</param>
        /// <param name="value">参数值</param>
        /// key和value通常用于填充最后一组参数
        /// <returns></returns>
        public virtual string CreateMd5Sign(string key, string value)
        {
            StringBuilder sb = new StringBuilder();

            ArrayList akeys = new ArrayList(Parameters.Keys);

            akeys.Sort();

            foreach (string k in akeys)
            {
                string v = (string)Parameters[k];
                if (null != v && "".CompareTo(v) != 0 &&
                    "sign".CompareTo(k) != 0 && "key".CompareTo(k) != 0)
                {
                    sb.Append(k + "=" + v + "&");
                }
            }

            sb.Append(key + "=" + value);
            string sign = MD5Util.GetMD5(sb.ToString(), GetCharset()).ToUpper();

            return(sign);
        }
Exemplo n.º 4
0
        /// <summary>
        /// 随机生成Noncestr
        /// </summary>
        /// <returns></returns>
        public static string GetNoncestr()
        {
            Random random = new Random();

            return(MD5Util.GetMD5(random.Next(1000).ToString(), "GBK"));
        }
Exemplo n.º 5
0
        public static string GetNoncestr()
        {
            int num = (new Random()).Next(1000);

            return(MD5Util.GetMD5(num.ToString(), "GBK"));
        }