Usage
uses OTPLib;
TOTP
// Default: SHA1
var secretkey: string := 'JBSWY3DPEHPK3PXP';
var totp: TTOTP;
var otpcode: string;
totp := TTOTP.Create(30, 6);
//totp := TTOTP.Create(30, 6, TOTPHashAlgorithm.SHA1);
otpcode := totp.GenerateOTP(secretkey);
HOTP
// Default: SHA1
var secretkey: string := 'JBSWY3DPEHPK3PXP';
var hotp: THOTP;
var otpcode: string;
hotp := THOTP.Create(1000, 6);
//hotp := THOTP.Create(30, 6, TOTPHashAlgorithm.SHA1);
otpcode := hotp.GenerateOTP(secretkey);
Class Functions
// Encoding Base32 (TOTP or HTOP)
var secretkey: string := 'your-secret-key';
var encodedSecretkey: string;
encodedSecretkey := TOTPLib.Base32Encode(TEncoding.UTF8.GetBytes(secretkey));
//encodedSecretkey := TTOTP.Base32Encode(TEncoding.UTF8.GetBytes(secretkey));
//encodedSecretkey := THOTP.Base32Encode(TEncoding.UTF8.GetBytes(secretkey));
// Check Valid Secretkey (TOTP or HTOP)
var secretkey: string := 'OBGFELDJJRGWG4DSNFBCENSBMZNUM43J';
var checksecretkey: Boolean;
checksecretkey := TOTPLib.CheckValidSecretkey(secretkey);
//checksecretkey := TTOTP.CheckValidSecretkey(secretkey);
//checksecretkey := HTOTP.CheckValidSecretkey(secretkey);
// Generate Random Secret Key
var generatedsecretkey: string;
generatedsecretkey := TOTPLib.GenerateRandomSecretKey(30);
//generatedsecretkey := TTOTP.GenerateRandomSecretKey(30);
//generatedsecretkey := THOTP.GenerateRandomSecretKey(30);
Last updated