protected override string ComputeSignatureCore(string key, string data) { Debug.Assert(!string.IsNullOrEmpty(data)); using (var algorithm = KeyedHash.Create(SignatureMethod.ToUpperInvariant())) { algorithm.Key = Encoding.GetBytes(key.ToCharArray()); return(Convert.ToBase64String( algorithm.ComputeHash(Encoding.GetBytes(data.ToCharArray())))); } }