(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.) Note: This example requires Chilkat v11.0.0 or greater.
load ./chilkat.dll
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]
delete_CkCrypt2 $crypt
delete_CkByteData $inData
delete_CkByteData $outData
delete_CkBinData $bdIn
|