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

PHP Extension
<?php

include("chilkat.php");

$success = false;

$crypt = new CkCrypt2();

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

$outData = new CkByteData();

$success = $crypt->MacBytes($inData,$outData);

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

$bdIn = new CkBinData();
$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";

?>