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); }
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); }
/// <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); }
/// <summary> /// 随机生成Noncestr /// </summary> /// <returns></returns> public static string GetNoncestr() { Random random = new Random(); return(MD5Util.GetMD5(random.Next(1000).ToString(), "GBK")); }
public static string GetNoncestr() { int num = (new Random()).Next(1000); return(MD5Util.GetMD5(num.ToString(), "GBK")); }