HASH(3) 1 HASH(3)
hash - Generate a hash value (message digest)
SYNOPSIS
string hash (string $algo, string $data, [bool $raw_output = false])
DESCRIPTION
PARAMETERS
o $algo
- Name of selected hashing algorithm (e.g. "md5", "sha256", "haval160,4", etc..)
o $data
- Message to be hashed.
o $raw_output
- When set to TRUE, outputs raw binary data. FALSE outputs lowercase hexits.
RETURN VALUES
Returns a string containing the calculated message digest as lowercase hexits unless $raw_output is set to true in which case the raw
binary representation of the message digest is returned.
CHANGELOG
+--------+---------------------------------------------------+
|Version | |
| | |
| | Description |
| | |
+--------+---------------------------------------------------+
| 5.4.0 | |
| | |
| | The tiger algorithm now uses big-endian byte |
| | ordering. See also example below. |
| | |
+--------+---------------------------------------------------+
EXAMPLES
Example #1
A hash(3) example
<?php
echo hash('ripemd160', 'The quick brown fox jumped over the lazy dog.');
?>
The above example will output:
ec457d0a974c48d5685a7efa03d137dc8bbde7e3
Example #2
Calculate pre PHP-5.4 tiger hashes with PHP-5.4 and higher
<?php
function old_tiger($data = "", $width=192, $rounds = 3) {
return substr(
implode(
array_map(
function ($h) {
return str_pad(bin2hex(strrev($h)), 16, "0");
},
str_split(hash("tiger192,$rounds", $data, true), 8)
)
),
0, 48-(192-$width)/4
);
}
echo hash('tiger192,3', 'a-string'), PHP_EOL;
echo old_tiger('a-string'), PHP_EOL;
?>
Output of the above example in PHP 5.3:
146a7492719b3564094efe7abbd40a7416fd900179d02773
64359b7192746a14740ad4bb7afe4e097327d0790190fd16
Output of the above example in PHP 5.4:
64359b7192746a14740ad4bb7afe4e097327d0790190fd16
146a7492719b3564094efe7abbd40a7416fd900179d02773
SEE ALSO
hash_file(3), hash_hmac(3), hash_init(3), md5(3), sha1(3).
PHP Documentation Group HASH(3)