using System.Security.Cryptography;
public static void Main()
var signingKey = "ABCDEF1234567890";
var expiryTimestamp = DateTime.Now.AddHours(1).ToUniversalTime().ToString("YYYYMMDDHHmmss");
var stringToHash = $"video:{videoId}:{signingKey}:{expiryTimestamp}";
byte[] inputBytes = System.Text.Encoding.ASCII.GetBytes(stringToHash);
byte[] hash = md5.ComputeHash(inputBytes);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < hash.Length; i++)
sb.Append(hash[i].ToString("X2"));
Console.WriteLine($"input String: {stringToHash}");
Console.WriteLine($"output string: {sb.ToString()}");