private string CalculateChecksumFromPostback(PostbackTransaction postback) { using (var sha1 = SHA1.Create()) { var checksumBytes = sha1.ComputeHash(Encoding.UTF8.GetBytes( $"{postback.Id}||{(int)postback.Status}|{settings.SharedSecret}")); return(BitConverter.ToString(checksumBytes) .Replace("-", string.Empty) .ToLower()); } }
private string GetChecksumFromHeadersOrPostback( IDictionary <string, string[]> headers, PostbackTransaction postback) { string[] postbackChecksumArray; if (headers.TryGetValue("Checksum", out postbackChecksumArray)) { return(postbackChecksumArray.First()); } else { return(postback.Checksum); } }
private bool HasValidChecksumProperties(string postbackChecksum, PostbackTransaction postback) { return(!string.IsNullOrWhiteSpace(postbackChecksum) && !string.IsNullOrWhiteSpace(postback.Id)); }