Ruby
Ruby
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 Ruby Downloads
require 'chilkat'
success = false
crypt = Chilkat::CkCrypt2.new()
# Do HMAC using SHA-256.
crypt.put_MacAlgorithm("hmac")
crypt.put_HashAlgorithm("sha256")
keyHex = "000102030405060708090A0B0C0D0E0F"
success = crypt.SetMacKeyEncoded(keyHex,"hex")
path = "c:/someDir/example.dat"
# ------------------------------------------------------------------------
# The MacBytes method is deprecated:
inData = Chilkat::CkByteData.new()
inData.loadFile(path)
outData = Chilkat::CkByteData.new()
success = crypt.MacBytes(inData,outData)
# ------------------------------------------------------------------------
# Workaround.
# (Chilkat is moving away from using CkByteData)
bdIn = Chilkat::CkBinData.new()
bdIn.LoadFile(path)
# Set to any supported Chilkat encoding: base64, hex, base64url, hex_lower, etc.
crypt.put_EncodingMode("base64")
mac_base64 = crypt.macBdENC(bdIn)
print mac_base64 + "\n";