Usage
using OTPLib;
TOTP
// Default: SHA1
string secretkey = "ADII2YLBLAAE5DLV36M7ZXXFIJT64753ZR3CSSWWVTRJE7WEWSDG3YVCKGYHSWL45SIJYRLX25UILRBFRTW35GUHJUBHCQXLWXEHG2I=";
TOTP totp = new TOTP(30, 6);
//TOTP totp = new TOTP(30, 6, OTPHashAlgorithm.SHA1);
string otpcode = totp.GenerateOTP(secretkey);
int timeleft = totp.GetRemainingTime();
Console.WriteLine("OTP code: {0}\r\nTimeleft: {1}", otpcode, timeleft.ToString());
HOTP
// Default: SHA1
string secretkey = "JVDSOVL2IZVGSWB4H5XG6WKGON7G4W2TLNKW27JL";
HOTP hotp = new HOTP(1000, 8, OTPHashAlgorithm.SHA1);
string otpcode = hotp.GenerateOTP(secretkey);
Static Functions
// Encoding Base32 (TOTP or HTOP)
string secretkey = "secret-key";
string encodedSecretkey = TOTP.Base32Encode(UTF8Encoding.UTF8.GetBytes(secretkey));
//string encodedSecretkey = HOTP.Base32Encode(UTF8Encoding.UTF8.GetBytes(secretkey));
// Check Valid Secretkey (TOTP or HTOP)
string secretkey = "OBGFELDJJRGWG4DSNFBCENSBMZNUM43J";
bool checksecretkey = OTPLib.OTPLib.CheckValidSecretkey(secretkey);
//bool checksecretkey = HOTP.CheckValidSecretkey(secretkey);
//bool checksecretkey = TOTP.CheckValidSecretkey(secretkey);
// Generate Random Secret Key
string generatedsecretkey = TOTP.GenerateRandomSecretKey(30);
//string generatedsecretkey = HOTP.GenerateRandomSecretKey(40);
Last updated