using System.Security.Cryptography;
public static void Main()
var created = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ssZ");
var nonceTime = DateTime.Now.ToString("yyyyMMddHHmmss00000");
string password2 = "{ " + "\"instructedAmount\"" +
string password = "{ " + (char)10 +
" \"instructedAmount\": {\"currency\": \"EUR\", \"amount\": \"123\"}," + (char)10 +
" \"debtorAccount\": {\"iban\": \"DE2310010010123456789\"}," + (char)10 +
" \"creditor\": {\"name\": \"Merchant123\"}," + (char)10 +
" \"creditorAccount\": {\"iban\": \"DE23100120020123456789\"}," + (char)10 +
" \"remittanceInformationUnstructured\": \"Ref Number Merchant\"" + (char)10 +
var sha256 = ComputeSha256Hash(password);
Console.WriteLine("Created : " + created);
Console.WriteLine("Nonce : " + nonceTime);
Console.WriteLine("Using SHA 256 : " + sha256);
Console.WriteLine("Raw String : " + password);
static string ComputeSha256Hash(string rawData)
using (SHA256 sha256Hash = SHA256.Create())
byte[] bytes = sha256Hash.ComputeHash(Encoding.UTF8.GetBytes(rawData));
returnStr = System.Convert.ToBase64String(bytes);
static string ComputeSha1Hash(string rawData)
SHA1 sha = new SHA1CryptoServiceProvider();
byte[] bytes = sha.ComputeHash(Encoding.UTF8.GetBytes(rawData));
StringBuilder builder = new StringBuilder();
for (int i = 0; i < bytes.Length; i++)
builder.Append(bytes[i].ToString("x2"));
return builder.ToString();
static string ComputeMD5Hash(string rawData)
var md5Hasher = MD5.Create();
var bytes = md5Hasher.ComputeHash(Encoding.UTF8.GetBytes(rawData));
StringBuilder builder = new StringBuilder();
for (int i = 0; i < bytes.Length; i++)
builder.Append(bytes[i].ToString("x2"));
return builder.ToString();
public static string Base64Encode(string plainText)
var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(plainText);
return System.Convert.ToBase64String(plainTextBytes);