Sample code for 30+ languages & platforms
PHP Extension

PBKDF2 Key Derivation

Demonstrates AES secret key derivation from a password using PBDKF2.

Chilkat PHP Extension Downloads

PHP Extension
<?php

include("chilkat.php");

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

$crypt = new CkCrypt2();

$password = 'correcthorsebatterystaple';

// Derive from the utf-8 byte representation of the password.
$charset = 'utf-8';

$hashAlg = 'sha256';

$crypt->put_EncodingMode('hex');
$saltHex = $crypt->genRandomBytesENC(16);

$iterationCount = 310000;

// Derive a 256-bit key from the password.
$outputBitLen = 256;

// The derived key is returned as a hex or base64 encoded string.
// (Note: The salt argument must be a string that also uses
// the same encoding.)
$enc = 'hex';

$hexKey = $crypt->pbkdf2($password,$charset,$hashAlg,$saltHex,$iterationCount,$outputBitLen,$enc);

print $hexKey . "\n";

// Sample output:
// 597734C894FF89CFD3B93D925462C24E97724BCB118F6FC919007F5ABC27E768

?>