Sample code for 30+ languages & platforms
Tcl

Workaround for the deprecated Crypt2.MacBytes method

Shows how to replace the deprecated MacBytes method. (Chilkat is moving away from the use of CkByteData.)

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

set crypt [new_CkCrypt2]

# Do HMAC using SHA-256.
CkCrypt2_put_MacAlgorithm $crypt "hmac"
CkCrypt2_put_HashAlgorithm $crypt "sha256"

set keyHex "000102030405060708090A0B0C0D0E0F"
set success [CkCrypt2_SetMacKeyEncoded $crypt $keyHex "hex"]

set path "c:/someDir/example.dat"

# ------------------------------------------------------------------------
# The MacBytes method is deprecated:

set inData [new_CkByteData]

CkByteData_loadFile $inData $path

set outData [new_CkByteData]

set success [CkCrypt2_MacBytes $crypt $inData $outData]

# ------------------------------------------------------------------------
# Workaround.
# (Chilkat is moving away from using CkByteData)

set bdIn [new_CkBinData]

CkBinData_LoadFile $bdIn $path

# Set to any supported Chilkat encoding: base64, hex, base64url, hex_lower, etc.
CkCrypt2_put_EncodingMode $crypt "base64"
set mac_base64 [CkCrypt2_macBdENC $crypt $bdIn]

puts "$mac_base64"

delete_CkCrypt2 $crypt
delete_CkByteData $inData
delete_CkByteData $outData
delete_CkBinData $bdIn