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

$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 . "\r\n";