public string SignWithKey(SortedDictionary <string, string> dictionary) { StringBuilder sb = new StringBuilder(); foreach (KeyValuePair <string, string> iter in dictionary) { if (!string.IsNullOrEmpty(iter.Value) && iter.Key != "sign") { sb.Append(iter.Key).Append('=').Append(iter.Value).Append("&"); } } string signContent = sb.Append("key=").Append(SignSettings.Key).ToString(); switch (SignSettings.SignType) { case EnumSignType.MD5: return(MD5Hash.HashToHex(signContent).ToUpper()); case EnumSignType.HMACSHA256: return(HMACSHA256Hash.HashToHex(signContent, SignSettings.Key).ToUpper()); default: break; } return(null); }
public string SignWithSecret(SortedDictionary <string, string> dictionary, List <string> include) { StringBuilder sb = new StringBuilder(); foreach (KeyValuePair <string, string> iter in dictionary) { if (!string.IsNullOrEmpty(iter.Value) && include.Contains(iter.Key)) { sb.Append(iter.Key).Append('=').Append(iter.Value).Append("&"); } } string signContent = sb.Append("secret=").Append(SignSettings.Secret).ToString(); return(MD5Hash.HashToHex(signContent).ToUpper()); }