Xbase++
Xbase++
Generate TOTP using Base32 Secret (6 Digits, Time-based, 30-second period)
See more Encryption Examples
Generates a 6-digit time-based TOTP code using a base32 secret with a 30-second time period.Chilkat Xbase++ Downloads
LOCAL nSuccess
LOCAL oCrypt
LOCAL cSecretKey
LOCAL oSbKey
LOCAL nNumRemoved
LOCAL nNumDigits
LOCAL nTimePeriod
nSuccess := 0
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
//
oCrypt := CreateObject("Chilkat.Crypt2")
// Base32 secret key:
cSecretKey := "oebf ytfl qmzb p4xd 2ztf zyz4 hjrw 3uyo"
oSbKey := CreateObject("Chilkat.StringBuilder")
nSuccess := oSbKey:Append(cSecretKey)
// Remove SPACE chars.
nNumRemoved := oSbKey:Replace(" ", "")
// Note: A new token is generated every 30 seconds. You must generate within the same 30 second interval to get the same result.
// Generate 6 digits.
nNumDigits := 6
// 30 second time period.
nTimePeriod := 30
? "Your token is: " + oCrypt:Totp(oSbKey:GetAsString(), "base32", "0", "", nTimePeriod, nNumDigits, -1, "sha1")
oCrypt:destroy()
oSbKey:destroy()