(PHP 5 >= 5.1.2, PHP 7, PECL hash >= 1.1)
hash — Génère une valeur de hachage (empreinte numérique)
$algo
, string $data
[, bool $raw_output = false
] )
algoNom de l'algorithme de hachage sélectionné (c'est-à-dire "md5", "sha256", "haval160,4", etc.)
dataMessage à hacher.
raw_output
Lorsqu'il vaut TRUE, la sortie sera des données brutes binaires.
Lorsqu'il vaut FALSE, la sortie sera des chiffres hexadécimaux en
minuscule.
Retourne une chaîne de caractères contenant l'empreinte numérique calculée
en chiffre hexadécimal minuscule à moins que
raw_output soit fixé à TRUE. Dans ce cas, la
représentation brute binaire de l'empreinte numérique est retournée.
| Version | Description |
|---|---|
| 5.4.0 | L'algorithme tiger utilise désormais l'ordre des octets big-endian. Voir l'exemple ci-dessous. |
Exemple #1 Exemple avec hash()
<?php
echo hash('ripemd160', 'Le rapide goupil brun sauta par dessus le chien paresseux.');
?>
L'exemple ci-dessus va afficher :
cdb8426cb020896cea1d040e62a0f8cf9f5b4226
Exemple #2 Exemple avec PHP-5.4 et supérieur
<?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;
?>
Résultat de l'exemple ci-dessus en PHP 5.3 :
146a7492719b3564094efe7abbd40a7416fd900179d02773 64359b7192746a14740ad4bb7afe4e097327d0790190fd16
Résultat de l'exemple ci-dessus en PHP 5.4 :
64359b7192746a14740ad4bb7afe4e097327d0790190fd16 146a7492719b3564094efe7abbd40a7416fd900179d02773