using System.Security.Cryptography;
public static void Main()
var bankResponseHeader = "{\"header\":{\"requestId\":\"0218a7cc280e412eb4427e678c4521b4\",\"swtId\":\"CC82C381E078482AB328943FCCB7100C\",\"returnCode\":\"00\",\"reasonCode\":\"00\",\"message\":\"Başarılı\",\"timestamp\":\"2021-01-16T07:16:52.224+0000\",\"hashedData\":\"5F3592A0447D80AD89456D89DF84FB5D0278291ED47C1CE6788FDC29869BDFE9\"},\"card\":{\"token\":\"D3EB33875B1A48AD9EE09508CBFA2201\",\"binNumber\":\"537829\",\"bankId\":\"62\",\"maskedNumber\":\"537829******1012\",\"bankName\":\"T. GARANTİ BANKASI A.Ş.\"}}";
var jsonResult = JsonConvert.DeserializeObject(bankResponseHeader);
Console.WriteLine(jsonResult);
string requestId = "0218a7cc280e412eb4427e678c4521b4";
string swtId = "CC82C381E078482AB328943FCCB7100C";
string returnCode = "00";
string reasonCode = "00";
string message = "Başarılı";
string timeStamp = "2021-01-16T07:16:52.224+0000";
string responseHash = "5F3592A0447D80AD89456D89DF84FB5D0278291ED47C1CE6788FDC29869BDFE9";
string ourCalculatedHash = CalculateHash(requestId + swtId + returnCode + reasonCode + message + timeStamp + "123asdASD@");
Console.WriteLine(ourCalculatedHash);
Console.WriteLine(responseHash);
public static string CalculateHash(string rawData)
if (string.IsNullOrEmpty(rawData))
using (SHA256 sha256Hash = SHA256.Create())
byte[] bytes = sha256Hash.ComputeHash(Encoding.UTF8.GetBytes(rawData));
return GetHexaDecimal(bytes);
public static string GetHexaDecimal(byte[] bytes)
StringBuilder builder = new StringBuilder();
for (int i = 0; i < bytes.Length; i++)
builder.Append(bytes[i].ToString("x2"));
return builder.ToString().ToUpper();