downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

hash_final> <hash_copy
Last updated: Fri, 14 Aug 2009

view this page in

hash_file

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

hash_fileGénère une valeur de hachage en utilisant le contenu d'un fichier donné

Description

string hash_file ( string $algo , string $filename [, bool $raw_output= false ] )

Liste de paramètres

algo

Nom de l'algorithme de hachage sélectionné (c'est-à-dire "md5", "sha256", "haval160,4", etc.)

filename

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

raw_output

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. La valeur par défaut est FALSE.

Valeurs de retour

Retourne une chaîne de caractères contenant l'empreinte numérique calculée en chiffre hexadécimal minuscule à moins que raw_output soit fixé à TRUE. Dans ce cas, la représentation brute binaire de l'empreinte numérique est retournée.

Exemples

Exemple #1 Exemple avec hash_file()

<?php
/* Crée un fichier pour calculer son empreinte numérique */
file_put_contents('exemple.txt''Le rapide goupil brun sauta par dessus le chien paresseux.');

echo 
hash_file('md5''exemple.txt');
?>

L'exemple ci-dessus va afficher :

2dfe052a8caca3db869ede6ae544cd5d

Voir aussi

  • hash() - Génère une valeur de hachage (empreinte numérique)
  • hash_hmac_file() - Génère une valeur de clé de hachage en utilisant la méthode HMAC et le contenu d'un fichier donné
  • hash_update_file() - Ajoute des données dans un contexte de hachage actif provenant d'un fichier
  • md5_file() - Calcule le md5 d'un fichier
  • sha1_file() - Calcule le sha1 d'un fichier



add a note add a note User Contributed Notes
hash_file
Keisial at gmail dot com
11-Sep-2008 06:46
The 'octets reversed' you are seeing is the bug 45028 which has been fixed. http://bugs.php.net/bug.php?id=45028

The difference between crc32 and crc32b is explained on mhash man page. crc32 is the one used on ethernet, while crc32b is the one used on zip, png... They differ on the table used.
allaryin at gmail dot com
23-Jul-2008 10:16
For those who are wondering, there appears to be no fundamental difference between hash_file('md5')/hash_file('sha1') and md5_file()/sha1_file(). They produce identical output and have comparable performance.

There is, however, a difference between hash_file('crc32') and something silly like crc32(file_get_contents()).

crc32(file_get_contents())'s results are most similar to those of hash_file('crc32b'), just with the octets reversed:

<?php
$fname
= "something.png";

$hash = hash_file( 'crc32', $fname );
echo
"crc32  = $hash\n";

$hash = hash_file( 'crc32b', $fname );
echo
"crc32b = $hash\n";

$hash = sprintf("%x",crc32(file_get_contents($fname)));
echo
"manual = $hash\n";
?>

crc32  = f41d7f4e
crc32b = 7dafbba4
manual = a4bbaf7d

hash_final> <hash_copy
Last updated: Fri, 14 Aug 2009
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites