using System.Security.Cryptography;
public static void Main()
var otp = GetPasswordHash("N6aBQrfJEFQp37C5","OCY1OIE^6f$Q*RclrK!$KJJIZy7yIq#LoEIQVtg&LuGSFZULPHWhbAiad5awVOW0",DateTimeOffset.FromUnixTimeSeconds(1542264916).UtcDateTime, "375630");
private static string GetPasswordHash(string password, string secret, DateTime time, string addData) {
var combinedPassword = string.Concat(
time.ToString("yyyyMMddHHmmss"),
var bytes = Encoding.UTF8.GetBytes(combinedPassword);
using (var managed = new SHA512Managed()) {
var hash = managed.ComputeHash(bytes);
return Convert.ToBase64String(hash);