using System.Collections.Generic;
using System.Security.Cryptography;
public static void Main()
string interfaceKey = "BdDoqYjSVgc", QueryString = "";
byte[] SHA512Bytes = null;
Dictionary<string, string> dict1 = new Dictionary<string, string>();
dict1.Add("documentingUser", Base64Encode("Admin"));
dict1.Add("Mcg-Partner-ID", Base64Encode("220f6d5b-7631-4e3e-9cdc-033b157ca5e7|AaNeel_Infotech"));
dict1.Add("Mcg-Solution-ID", Base64Encode("AaNeelCare"));
dict1.Add("Mcg-Solution-Version", Base64Encode("10.0.1"));
dict1.Add("requestType", Base64Encode("documentation"));
foreach(KeyValuePair<string, string> ele in dict1)
QueryString = QueryString + string.Concat("&",ele.Key,"=",ele.Value);
QueryString = QueryString.Substring(1);
string requestedSHAText = string.Concat(QueryString,interfaceKey);
SHA512Bytes = SHA512Encode(requestedSHAText);
string HashValue = Convert.ToBase64String(SHA512Bytes,0,SHA512Bytes.Length);
string GetQueryString = string.Concat(QueryString,"&messageHash=",HashValue);
Console.WriteLine(GetQueryString);
public static string Base64Encode(string plainText)
var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(plainText);
return System.Convert.ToBase64String(plainTextBytes);
public static byte[] SHA512Encode(string source)
using (SHA512 sha512Hash = SHA512.Create())
byte[] sourceBytes = Encoding.UTF8.GetBytes(source);
hashBytes = sha512Hash.ComputeHash(sourceBytes);