using System.Security.Cryptography;
public static void Main()
var datetime = DateTime.Now.ToString("u");
Console.WriteLine(datetime);
var msisdn = "97400000000";
var operatorCode = "42702";
var message = msisdn + operatorCode + datetime;
var publicKey = "KLxY3gJtDkXvnclpGa4h";
var privateKey = "76Ie2lIJMypTBJyA5Wby";
var theDigest = CalculateDigest(publicKey, privateKey, message);
Console.WriteLine(theDigest);
public static string CalculateDigest(string publicKey, string privateKey, string message)
var hash = new System.Security.Cryptography.HMACSHA256(System.Text.Encoding.UTF8.GetBytes(privateKey));
var correctHash = string.Join(string.Empty, hash.ComputeHash(System.Text.Encoding.UTF8.GetBytes(message)).Select(b => b.ToString("x2")));
digest = publicKey + ":" + correctHash;