(PHP 5 >= 5.1.2, PHP 7, PECL hash >= 1.1)
hash — Genera un valor cifrado con base a un string
$algo
, string $data
[, bool $raw_output
= false
] ) : string
algo
Nombre del algoritmo de cifrado seleccionado (p.ej., "md5", "sha256", "haval160,4", etc..)
data
Mensaje para cifrar.
raw_output
Cuando se establece en TRUE
la salida serán datos binarios sin formato,
FALSE
la salida serán dígitos hexadecimales en minúsculas.
Devuelve un string que contiene el mensaje cifrado como dígitos hexadecimales en minúsculas,
a menos que raw_output
esté establecido en true, en cuyo caso la salida
devuelta será el mensaje cifrado como datos binarios sin formato.
Versión | Descripción |
---|---|
5.4.0 | El algoritmo tiger ahora utiliza orden de byte «big-endian».Véase también el ejemplo de más abajo. |
Ejemplo #1 Un ejemplo de hash()
<?php
echo hash('ripemd160', 'The quick brown fox jumped over the lazy dog.');
?>
El resultado del ejemplo sería:
ec457d0a974c48d5685a7efa03d137dc8bbde7e3
Ejemplo #2 Calcular unos 'hashes' Tiger anteriores a PHP 5.4 con PHP 5.4 y superior
<?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;
?>
Salida del ejemplo anterior en PHP 5.3:
146a7492719b3564094efe7abbd40a7416fd900179d02773 64359b7192746a14740ad4bb7afe4e097327d0790190fd16
Salida del ejemplo anterior en PHP 5.4:
64359b7192746a14740ad4bb7afe4e097327d0790190fd16 146a7492719b3564094efe7abbd40a7416fd900179d02773