DataFlex
DataFlex
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 DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoCrypt
String sSecretKey
Handle hoSbKey
Integer iNumRemoved
Integer iNumDigits
Integer iTimePeriod
String sTemp1
Move False To iSuccess
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
//
Get Create (RefClass(cComChilkatCrypt2)) To hoCrypt
If (Not(IsComObjectCreated(hoCrypt))) Begin
Send CreateComObject of hoCrypt
End
// Base32 secret key:
Move "oebf ytfl qmzb p4xd 2ztf zyz4 hjrw 3uyo" To sSecretKey
Get Create (RefClass(cComChilkatStringBuilder)) To hoSbKey
If (Not(IsComObjectCreated(hoSbKey))) Begin
Send CreateComObject of hoSbKey
End
Get ComAppend Of hoSbKey sSecretKey To iSuccess
// Remove SPACE chars.
Get ComReplace Of hoSbKey " " "" To iNumRemoved
// 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.
Move 6 To iNumDigits
// 30 second time period.
Move 30 To iTimePeriod
Get ComTotp Of hoCrypt (ComGetAsString(hoSbKey)) "base32" "0" "" iTimePeriod iNumDigits -1 "sha1" To sTemp1
Showln "Your token is: " sTemp1
End_Procedure