(Tcl) Workaround for the deprecated Crypt2.MacString method
Shows how to replace the deprecated MacString 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]
CkCrypt2_put_Charset $crypt "utf-8"
# 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 inputStr "This is a test."
# ------------------------------------------------------------------------
# The MacString method is deprecated:
set outData [new_CkByteData]
set success [CkCrypt2_MacString $crypt $inputStr $outData]
# ------------------------------------------------------------------------
# Workaround.
# (Chilkat is moving away from using CkByteData)
CkCrypt2_put_EncodingMode $crypt "base64"
set mac_base64 [CkCrypt2_macStringENC $crypt $inputStr]
puts "$mac_base64"
delete_CkCrypt2 $crypt
delete_CkByteData $outData
|