using System.Security.Cryptography;
public static void Main()
string Key = "zOkCnPH4ys";
string RefNo = "H5Z6MAY7AHEA2Z0870A5Q8KAB";
string RequestToHash = Key + Code + RefNo + Amount + Currency;
string ResponseToHash = Key + Code + PaymentID + RefNo + Amount + Currency + Status;
Console.WriteLine(GenerateSHA256(RequestToHash));
Console.WriteLine(GenerateSHA256(ResponseToHash));
Console.WriteLine(Environment.NewLine);
Console.WriteLine("==================================================================================================================================================================================");
Console.WriteLine(Environment.NewLine);
Console.WriteLine(GenerateHMACSHA512(RequestToHash, Key));
Console.WriteLine(GenerateHMACSHA512(ResponseToHash, Key));
public static string GenerateSHA256(string Input)
using (var SHA256Crypto = SHA256.Create())
byte[] InputBytes = Encoding.UTF8.GetBytes(Input);
byte[] InputHash = SHA256Crypto.ComputeHash(InputBytes);
return GetStringFromHash(InputHash);
public static string GenerateHMACSHA512(string Input, string Key)
using (var HMACSHA512Crypto = new HMACSHA512(Encoding.UTF8.GetBytes(Key)))
byte[] InputBytes = Encoding.UTF8.GetBytes(Input);
byte[] InputHash = HMACSHA512Crypto.ComputeHash(InputBytes);
return GetStringFromHash(InputHash);
private static string GetStringFromHash(byte[] Input)
var Builder = new StringBuilder();
for (int i = 0; i < Input.Length; i++)
Builder.Append(Input[i].ToString("X2"));
return Builder.ToString().ToLower();