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

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

Ruby
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";