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