public static void Main()
var Email = "emil@vsgbg.com";
var SupervisorPassCode = "2014332229";
var DeviceId ="F30F5F4F-08E3-45D5-90AD-D02CEE062447";
var hash = GetStringSha256HashWithDeviceId(string.Concat(Email.ToLower(), SupervisorPassCode, DeviceId), DeviceId);
public static string GetStringSha256HashWithDeviceId(string inputText, string deviceId)
if (string.IsNullOrEmpty(inputText) || string.IsNullOrEmpty(deviceId))
using (var sha256 = new System.Security.Cryptography.SHA256Managed())
var data = Encoding.UTF8.GetBytes(inputText);
var hash = sha256.ComputeHash(data);
hashString = BitConverter.ToString(hash);
var resultAppended = new StringBuilder();
if (string.IsNullOrEmpty(hashString))
for (var i = 0; i < hashString.Length; i++)
if (hashString[i] == '-' && deviceId.Length > padIteration)
resultAppended.Append(Convert.ToInt16(padIteration % 2 == 0 ? hashString[i - padIteration] : deviceId[padIteration]));
else if (hashString[i] == '-')
resultAppended.Append(Convert.ToInt16(padIteration % 2 == 0 ? hashString[i - padIteration] : 0));
resultAppended.Append(hashString[i]);
return resultAppended.ToString();