PHP 8.4.2 Released!

hash_hmac_file

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

hash_hmac_fileBerechnet einen Hash einer Datei mit Schlüssel unter Verwendung von HMAC

Beschreibung

hash_hmac_file(
    string $algo,
    string $filename,
    #[\SensitiveParameter] string $key,
    bool $binary = false
): string|false

Parameter-Liste

algo

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

Hinweis:

Nicht-kryptografische Hash-Funktionen sind nicht erlaubt.

filename

Die URL der Datei, die gehasht werden soll; fopen-Wrapper werden unterstützt.

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. Gibt false zurück, wenn die Datei filename nicht gelesen werden kann.

Fehler/Exceptions

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

Changelog

Version Beschreibung
7.2.0 Die Verwendung von nicht-kryptografischen Hashfunktionen (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) ist nicht mehr möglich.
7.2.0 Die Verwendung von nicht-kryptographischen Hashfunktionen (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) wurde deaktiviert.

Beispiele

Beispiel #1 hash_hmac_file()-Beispiel

<?php
/* Erstelle die Datei, deren Inhalt gehasht werden soll */
file_put_contents('example.txt', 'Franz jagt im komplett verwahrlosten Taxi quer durch Bayern.');

echo
hash_hmac_file('sha256', 'example.txt', 'geheimnis');
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

b34775b66659af83b5e51064aa61e6f09df258b78842b4347e46b5028da8b021

Siehe auch

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

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top