hash

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

hashBerechnet den Hash einer Nachricht

Beschreibung

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

Parameter-Liste

algo

Name des gewählten Hash-Algorithmus (z.B. "md5", "sha256", "haval160,4", usw...)

data

Nachricht, die gehasht werden soll.

raw_output

Ist dieser Parameter TRUE, werden direkt Binärdaten zurückgegeben, andernfalls werden klein geschriebene Hexadezimalziffern zurückgegeben.

Rückgabewerte

Gibt den berechneten Hash als Hexadezimalzahl zurück, außer raw_output ist wahr, in diesem Fall wird die binäre Darstellung des Hashes zurückgegeben.

Changelog

Version Beschreibung
5.4.0 Der tiger Algorithmus verwendet nun Big-Endian-Bytereihenfolge. Vergleiche das Beispiel weiter unten.

Beispiele

Beispiel #1 hash()-Beispiel

<?php
echo hash('ripemd160''Franz jagt im komplett verwahrlosten Taxi quer durch Bayern.');
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

1e3d00e6a15336c66e46881d1efe8afc7813f66e

Beispiel #2 Ermitteln von Prä-PHP 5.4 tiger Hashes mit PHP 5.4 und höher

<?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;
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe mit PHP 5.3:

146a7492719b3564094efe7abbd40a7416fd900179d02773
64359b7192746a14740ad4bb7afe4e097327d0790190fd16

Das oben gezeigte Beispiel erzeugt folgende Ausgabe mit PHP 5.4:

64359b7192746a14740ad4bb7afe4e097327d0790190fd16
146a7492719b3564094efe7abbd40a7416fd900179d02773

Siehe auch

  • hash_file() - Berechnet den Hash des Inhalts einer Datei
  • hash_hmac() - Berechnet einen Hash mit Schlüssel unter Verwendung von HMAC
  • hash_init() - Initialisiert einen schrittweisen Hashing-Kontext
  • md5() - Errechnet den MD5-Hash eines Strings
  • sha1() - Berechnet den SHA1-Hash eines Strings