hash_hmac

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

hash_hmacBerechnet einen Hash mit Schlüssel unter Verwendung von HMAC

Beschreibung

hash_hmac(
    string$algo,
    string$data,
    string$key,
    bool$binary = false
): string

Parameter-Liste

algo

Der Name des gewählten Hash-Algorithmus (z. B. "md5", "sha256", "haval160,4" usw...). Für eine Liste der unterstützten Algorithmen siehe hash_hmac_algos().

data

Die Nachricht, die gehasht werden soll.

key

Ein geheimer Schlüssel für die Berechnung der HMAC-Variante des Hashes.

binary

Ist dieser Parameter auf true gesetzt, werden direkt Binärdaten zurückgegeben, andernfalls werden kleingeschriebene Hexadezimalziffern zurückgegeben.

Rückgabewerte

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

Fehler/Exceptions

Löst eine ValueError-Exception aus, wenn algo nicht bekannt ist oder eine nicht-kryptographische Hash-Funktion ist.

Changelog

VersionBeschreibung
8.0.0 Löst nun eine ValueError-Exception aus, wenn algo nicht bekannt ist oder eine nicht-kryptographische Hash-Funktion ist; zuvor wurde stattdessen false zurückgegeben.
7.2.0 Die Verwendung nicht-kryptografischer Hashfunktionen (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) ist nicht mehr möglich.

Beispiele

Beispiel #1 hash_hmac()-Beispiel

<?php
echo hash_hmac('sha256', 'Franz jagt im komplett verwahrlosten Taxi quer durch Bayern.', 'geheimnis');
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

b34775b66659af83b5e51064aa61e6f09df258b78842b4347e46b5028da8b021

Siehe auch

  • hash() - Berechnet den Hash einer Nachricht
  • hash_hmac_algos() - Return a list of registered hashing algorithms suitable for hash_hmac
  • hash_init() - Initialisiert einen schrittweisen Hashing-Kontext
  • hash_hmac_file() - Berechnet einen Hash einer Datei mit Schlüssel unter Verwendung von HMAC
  • hash_equals() - Timing attack safe string comparison
To Top