- hash_hmac: documentation ( source)
- base64_encode: documentation ( source)
- pack: documentation ( source)
<?php
$signData = 'yello';
$hmacKey = '123456';
$merchantSig = base64_encode(hash_hmac('sha256',$signData,pack("H*" , $hmacKey),true));
echo "PHP with Packing\n";
echo $merchantSig . "\n";
echo "==========\n";
$merchantSig = base64_encode(hash_hmac('sha256',$signData,$hmacKey,true));
echo "PHP without Packing\n";
echo $merchantSig . "\n";