Sample code for 30+ languages & platforms
PHP ActiveX

Hash Binary Data (SHA256 and other hash algorithms)

Demonstrates how to hash binary bytes using SHA256, SHA384, SHA512, MD2, MD5, HAVAL, RIPEMD, etc.

Chilkat PHP ActiveX Downloads

PHP ActiveX
<?php

$success = 0;

// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

// Let's load a binary file to get the bytes..
$jpgData = new COM("Chilkat.BinData");
$success = $jpgData->LoadFile('qa_data/jpg/starfish.jpg');
if ($success != 1) {
    print 'Failed to load file.' . "\n";
    exit;
}

$jpgBytes = $jpgData->GetBinary();

$crypt = new COM("Chilkat.Crypt2");

// Choose the hash algorithm.
// Can be  "sha1", "sha256", "sha384", "sha512", "md2", "md5", "haval", "ripemd128", "ripemd160","ripemd256", or "ripemd320".
$crypt->HashAlgorithm = 'sha256';

$hashBytes = $crypt->HashBytes($jpgBytes);

// Let's examine the hash as a hex string.
$sb = new COM("Chilkat.StringBuilder");
$sb->AppendEncoded($hashBytes,'hex');
print 'SHA256 hash = ' . $sb->getAsString() . "\n";

// We could alternatively hash the bytes and receive the hex result directly:
$crypt->EncodingMode = 'hex';
$hashHexStr = $crypt->hashBytesENC($jpgBytes);
print 'SHA256 hash = ' . $hashHexStr . "\n";

?>