hash

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

hashGenera un valor cifrado con base a un string

Descripción

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

Parámetros

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.

Valores devueltos

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.

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() - Genera un valor cifrado usando el contenido de un fichero dado
  • hash_hmac() - Genera un valor cifrado mediante una clave especificada usando el método HMAC
  • hash_init() - Inicializa un contexto incremental para cifrar
  • md5() - Calcula el 'hash' md5 de un string
  • sha1() - Calcula el 'hash' sha1 de un string