public string Generate(string secret)
        {
            var generator = new UnpaddedHmacSha512TotpGenerator(new TotpGeneratorSettings
            {
                SharedSecret = OtpSharedSecret.FromBase32String(secret)
            });

            return(generator.Generate(DateTime.UtcNow));
        }
Exemple #2
0
        public void ThenItShouldGenerateCorrectCode(string sharedSecret, long counter, string expectedCode)
        {
            // Arrange
            var generator = new HmacSha1HotpGenerator(new HotpGeneratorSettings
            {
                SharedSecret = OtpSharedSecret.FromAsciiString(sharedSecret)
            });

            // Act
            var actual = generator.Generate(counter);

            // Assert
            Assert.AreEqual(expectedCode, actual);
        }
Exemple #3
0
        public void ThenItShouldGenerateCodeFromBase32Encoded(string sharedSecret, long secondsSinceEpoch, string expectedCode)
        {
            // Arrange
            var generator = new HmacSha512TotpGenerator(new TotpGeneratorSettings
            {
                SharedSecret = OtpSharedSecret.FromBase32String(sharedSecret)
            });
            var time = new DateTime(1970, 1, 1).AddSeconds(secondsSinceEpoch);

            // Act
            var actual = generator.Generate(time);

            // Assert
            Assert.AreEqual(expectedCode, actual);
        }
 protected override byte[] ConvertSecretToHashKey(OtpSharedSecret sharedSecret)
 {
     return(sharedSecret.GetKeyOfLength(64));
 }
 protected override byte[] ConvertSecretToHashKey(OtpSharedSecret sharedSecret)
 {
     return(sharedSecret.Data);
 }