public static void Main()
string input = "{\"FormID\":\"4265104\",\"UniqueID\":\"857695328\",\"HandshakeKey\":\"IntegrationsSecret\",\"Short Answer\":\"Hi\",\"Dropdown List\":\"Building\"}";
Console.WriteLine(ComputeSignature(ComputeContentHash(input)));
static string ComputeContentHash(string content)
using (var sha256 = System.Security.Cryptography.SHA256.Create())
byte[] hashedBytes = sha256.ComputeHash(System.Text.Encoding.UTF8.GetBytes(content));
var toReturn = Convert.ToBase64String(hashedBytes);
return System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(toReturn));
static string ComputeSignature(string stringToSign)
using (var hmacsha256 = new System.Security.Cryptography.HMACSHA256(Convert.FromBase64String("password")))
var bytes = System.Text.Encoding.ASCII.GetBytes(stringToSign);
var hashedBytes = hmacsha256.ComputeHash(bytes);
var toReturn = Convert.ToBase64String(hashedBytes);
return System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(toReturn));