(Tcl) Generate TOTP using Base32 Secret (6 Digits, Time-based, 30-second period)
Generates a 6-digit time-based TOTP code using a base32 secret with a 30-second time period.
load ./chilkat.dll
# 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
|