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, 30 Oct 2009

view this page in

hash_file

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

hash_fileGenerate a hash value using the contents of a given file

Beschreibung

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

Parameter-Liste

algo

Name of selected hashing algorithm (i.e. "md5", "sha256", "haval160,4", etc..)

filename

URL describing location of file to be hashed; Supports fopen wrappers.

raw_output

When set to TRUE, outputs raw binary data. Default value (FALSE) outputs lowercase hexits.

Rückgabewerte

Returns a string containing the calculated message digest as lowercase hexits unless raw_output is set to true in which case the raw binary representation of the message digest is returned.

Beispiele

Beispiel #1 Using hash_file()

<?php
/* Create a file to calculate hash of */
file_put_contents('example.txt''The quick brown fox jumped over the lazy dog.');

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

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

5c6ffbdd40d9556b73a21e63c3e0e904

Siehe auch

  • hash() - Generate a hash value (message digest)
  • hash_hmac_file() - Generate a keyed hash value using the HMAC method and the contents of a given file
  • hash_update_file() - Pump data into an active hashing context from a file
  • md5_file() - Berechnet den MD5-Code einer Datei
  • sha1_file() - Berechnet den SHA1-Hash einer Datei



add a note add a note User Contributed Notes
hash_file
Keisial at gmail dot com
11-Sep-2008 08: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
24-Jul-2008 12: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, 30 Oct 2009
 
 
show source | credits | sitemap | contact | advertising | mirror sites