using System.Security.Cryptography;
using System.Text.RegularExpressions;
public static void Main()
var requestContent = "{ UserId:\"359704\" }";
var result = objectHashBase64(Regex.Replace(requestContent, @"\s+", ""), "xuU6Hxq9yxV9F2U");
Console.WriteLine("Content: " + requestContent);
Console.WriteLine("Security Hash: " + result);
private static string objectHashBase64 (string clearString, string salt)
var clearStringBytes = Encoding.UTF8.GetBytes(clearString);
var sharedKeyBytes = Encoding.UTF8.GetBytes(salt);
byte[] plainTextWithSaltBytes = new byte[clearStringBytes.Length + sharedKeyBytes.Length];
for (int i = 0; i < clearStringBytes.Length; i++)
plainTextWithSaltBytes[i] = clearStringBytes[i];
for (int i = 0; i < sharedKeyBytes.Length; i++)
plainTextWithSaltBytes[clearStringBytes.Length + i] = sharedKeyBytes[i];
var shaAlgo = SHA512.Create();
byte[] hashBytes = shaAlgo.ComputeHash(plainTextWithSaltBytes);
return Convert.ToBase64String(hashBytes);