private static string GetNPP10Sign(JDPayDictionary dictionary, string algorithm, string salt)
        {
            if (dictionary == null || dictionary.Count == 0)
            {
                return(string.Empty);
            }

            var sb = new StringBuilder();

            foreach (var iter in dictionary)
            {
                if (!string.IsNullOrEmpty(iter.Value) && iter.Key != "sign_type" && iter.Key != "sign_data" && iter.Key != "encrypt_type" && iter.Key != "encrypt_data" && iter.Key != "salt")
                {
                    sb.Append(iter.Key).Append("=").Append(iter.Value).Append("&");
                }
            }

            var sign = string.Empty;
            var data = sb.Remove(sb.Length - 1, 1) + salt;

            if ("SHA" == algorithm)
            {
                sign = SHA1.Compute(data).ToUpper();
            }
            else if ("SHA-256" == algorithm)
            {
                sign = SHA256.Compute(data).ToUpper();
            }

            return(sign);
        }
        private static string GetNPP10Sign(string content, string algorithm, string salt)
        {
            var sign = string.Empty;

            var data = content + salt;

            if ("SHA" == algorithm)
            {
                sign = SHA1.Compute(data);
            }
            else if ("SHA-256" == algorithm)
            {
                sign = SHA256.Compute(data);
            }

            return(sign);
        }