Sample code for 30+ languages & platforms
Perl 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 Perl Downloads

Perl
use chilkat();

$success = 0;

$crypt = chilkat::CkCrypt2->new();

#  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->new();
$inData->loadFile($path);

$hmac_hex = $crypt->macBytesENC($inData);
print $hmac_hex . "\r\n";

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

$bdIn = chilkat::CkBinData->new();
$bdIn->LoadFile($path);

$hmac_hex = $crypt->macBdENC($bdIn);
print $hmac_hex . "\r\n";