using System.Security.Cryptography;
public static void Main()
string value = @"Hello World!";
string secret = "2HAPYKRxHrg9bq2T";
Console.WriteLine("HEX hash");
var signature1 = HexHash(value, secret);
Console.WriteLine("Signature: " + signature1);
Console.WriteLine("Base64 hash");
var signature2 = Base64Hash(value, secret);
Console.WriteLine("Signature: " + signature2);
Console.WriteLine("Secret key: " + secret);
Console.WriteLine("Message:");
Console.WriteLine(value);
private static string Base64Hash(string value, string secret)
Encoding encoding = Encoding.UTF8;
var hmac = new HMACSHA256(encoding.GetBytes(secret));
return Convert.ToBase64String(hmac.ComputeHash(encoding.GetBytes(value)));
private static string HexHash(string value, string secret)
using (var hmacSha256 = new HMACSHA256(Encoding.UTF8.GetBytes(secret)))
byte[] bytes = Encoding.UTF8.GetBytes(value);
byte[] hash = hmacSha256.ComputeHash(bytes);
return BitConverter.ToString(hash)
.Replace("-", string.Empty);