public function testHashWithSubData()
 {
     $hash = new Be2bill_Api_Hash_Parameters();
     $this->assertEquals($hash->compute('password', array('c' => 3, 'a' => '1', 'b' => '2', 'd' => array('y' => 43, 'x' => 42))), '376383093261372eb97909ed1a44b1adb5e8f2687f7a64f1c41d5a0c8cc0b0fa');
 }
<?php

/**
 * Usage:
 * php hash_generator.php PASSWORD URI_QUERY_STRING_TO_HASH
 */
require 'autoload.php';
if ($argc < 2) {
    echo "Usage: php " . __FILE__ . " password IDENTIFIER=foo&PARAM2=bar...\n";
    exit(1);
}
$password = $argv[1];
parse_str($argv[2], $query);
$hash = new Be2bill_Api_Hash_Parameters();
echo $hash->compute($password, $query), "\n";
exit(0);