Sample code for 30+ languages & platforms
CkPython Requires Chilkat v11.0.0+

Workaround for the deprecated Crypt2.MacBytesENC method

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

Chilkat CkPython Downloads

CkPython
import chilkat

success = False

crypt = chilkat.CkCrypt2()

#  Do HMAC using SHA-256.
crypt.put_MacAlgorithm("hmac")
crypt.put_HashAlgorithm("sha256")

keyHex = "000102030405060708090A0B0C0D0E0F"
success = crypt.SetMacKeyEncoded(keyHex,"hex")

#  Return the HMAC using the lowercase hex encoding.
crypt.put_EncodingMode("hex_lower")

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

#  ------------------------------------------------------------------------
#  The MacBytesENC method is deprecated:

inData = chilkat.CkByteData()
inData.loadFile(path)

hmac_hex = crypt.macBytesENC(inData)
print(hmac_hex)

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

bdIn = chilkat.CkBinData()
bdIn.LoadFile(path)

hmac_hex = crypt.macBdENC(bdIn)
print(hmac_hex)