private void Test(string sharedSecret, long seconds, string expected) { var calculated = TimeBasedOneTimePassword.GetPassword(sharedSecret, TimeBasedOneTimePassword.UNIX_EPOCH + TimeSpan.FromSeconds(seconds), TimeBasedOneTimePassword.UNIX_EPOCH, 30, 8); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.AreEqual(expected, calculated); NUnit.Framework.Assert.AreEqual(expected, calculated); }
static void Main(string[] args) { for (int i = 0; i < 10; i++) { Console.WriteLine(HashedOneTimePassword.GeneratePassword("12345678901234567890", i)); } long[] seconds = new long[] { 59, 1111111109, 1111111111, 1234567890, 2000000000, 20000000000 }; foreach (var second in seconds) { Console.WriteLine(TimeBasedOneTimePassword.GetPassword("12345678901234567890", TimeBasedOneTimePassword.UNIX_EPOCH + TimeSpan.FromSeconds(second), TimeBasedOneTimePassword.UNIX_EPOCH, 30, 8)); } Base32Encoder enc = new Base32Encoder(); string secret = enc.Encode(Encoding.ASCII.GetBytes("1234567890")); Console.WriteLine(secret); Console.WriteLine("Enter your password: "******"1234567890", password)) { Console.WriteLine("Success!"); } else { Console.WriteLine("ERROR!"); } return; while (true) { Console.WriteLine(TimeBasedOneTimePassword.GetPassword("1234567890")); System.Threading.Thread.Sleep(TimeSpan.FromSeconds(10)); } }
private void Test(string sharedSecret, long seconds, string expected) { var calculated = TimeBasedOneTimePassword.GetPassword(sharedSecret, TimeBasedOneTimePassword.UNIX_EPOCH + TimeSpan.FromSeconds(seconds), TimeBasedOneTimePassword.UNIX_EPOCH, 30, 8); Assert.AreEqual(expected, calculated); }