hash

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

hashGenerar 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"$datatrue), 8)
            )
        ),
        
048-(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