# hash

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)

hash — Generar un valor hash (resumen de mensaje)

### Descripción

hash(string `$algo`, string `$data`, bool `$raw_output` = `false`): string

### Parámetros

`algo`

  Nombre del algoritmo hash seleccionado (es decir, "md5", "sha256", "haval160,4", etc..). Para una lista de los algoritmos soportados véase hash_algos().

`data`

  Mensaje a ser procesado.

`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.

### Valores devueltos

Devuelve un string que contiene el digesto(hash) como dígitos hexadecimales en minúsculas, a menos que `raw_output` esté establecido en true, en cuyo caso la salida devuelta será el digesto del mensaje (hash) como datos binarios sin formato.

### Historial de cambios

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.

### Ejemplos

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

### Ver también

- hash_file() - Generar un valor hash usando el contenido de un fichero dado
- hash_hmac() - Genera un valor cifrado mediante una clave especificada usando el método HMAC
- hash_init() - Iniciar un contexto de hashing incremental
- md5() - Calcula el 'hash' md5 de un string
- sha1() - Calcula el 'hash' sha1 de un string