Sample code for 30+ languages & platforms
Tcl

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 Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
# 
set crypt [new_CkCrypt2]

# Base32 secret key:
set secretKey "oebf ytfl qmzb p4xd 2ztf zyz4 hjrw 3uyo"

set sbKey [new_CkStringBuilder]

set success [CkStringBuilder_Append $sbKey $secretKey]

# Remove SPACE chars.
set numRemoved [CkStringBuilder_Replace $sbKey " " ""]

# 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.
set numDigits 6
# 30 second time period.
set timePeriod 30
puts "Your token is: [CkCrypt2_totp $crypt [CkStringBuilder_getAsString $sbKey] base32 0  $timePeriod $numDigits -1 sha1]"

delete_CkCrypt2 $crypt
delete_CkStringBuilder $sbKey