ConFoo 2025

hash_hmac_file

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

hash_hmac_fileGénère une valeur de clé de hachage en utilisant la méthode HMAC et le contenu d'un fichier donné

Description

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

Liste de paramètres

algo

Nom de l'algorithme de hachage sélectionné (par exemple : "sha256"). Pour une liste des algorithmes supportés voir hash_hmac_algos().

Note:

Les fonctions de hachage non cryptographiques ne sont pas autorisées.

filename

URL indiquant l'emplacement du fichier qui sera haché ; Supporte les enveloppes fopen().

key

Clé secrète partagée utilisée pour générer la variance HMAC de l'empreinte numérique.

binary

Lorsqu'il vaut true, la sortie sera des données brutes binaires. Lorsqu'il vaut false, la sortie sera des chiffres hexadécimaux en minuscule.

Valeurs de retour

Retourne une chaîne de caractères contenant l'empreinte numérique calculée en chiffre hexadécimal minuscule à moins que binary soit fixé à true. Dans ce cas, la représentation brute binaire de l'empreinte numérique est retournée. Retourne false si le fichier filename ne peut pas être lu.

Erreurs / Exceptions

Lève une exception ValueError si le paramètre algo est inconnu ou n'est pas une fonction de hachage cryptographique.

Historique

Version Description
7.2.0 L'utilisation de fonctions de hachage non cryptographiques (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) a été désactivée.
8.0.0 Lève une exception ValueError dorénavant si le paramètre algo est inconnu ou n'est pas une fonction de hachage cryptographique; précédemment, false était retourné à la place.

Exemples

Exemple #1 Exemple avec hash_hmac_file()

<?php
/* Crée un fichier pour calculer son empreinte numérique */
file_put_contents('example.txt', 'The quick brown fox jumped over the lazy dog.');

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

L'exemple ci-dessus va afficher :

9c5c42422b03f0ee32949920649445e417b2c634050833c5165704b825c2a53b

Voir aussi

  • hash_hmac() - Génère une valeur de clé de hachage en utilisant la méthode HMAC
  • hash_hmac_algos() - Return a list of registered hashing algorithms suitable for hash_hmac
  • hash_init() - Initialise un contexte de hachage incrémental
  • hash_equals() - Comparaison de chaînes résistante aux attaques temporelles

add a note

User Contributed Notes

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