Latest web development tutorials
 

PHP sha1_file() Function

< PHP String Reference

Example

Calculate the SHA-1 hash of the text file "test.txt":

<?php
$filename = "test.txt";
$sha1file = sha1_file($filename);
echo $sha1file;
?>

The output of the code above will be:

aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d


Definition and Usage

The sha1_file() function calculates the SHA-1 hash of a file.

The sha1_file() function uses the US Secure Hash Algorithm 1.

From RFC 3174 - The US Secure Hash Algorithm 1: "SHA-1 produces a 160-bit output called a message digest. The message digest can then, for example, be input to a signature algorithm which generates or verifies the signature for the message. Signing the message digest rather than the message often improves the efficiency of the process because the message digest is usually much smaller in size than the message. The same hash algorithm must be used by the verifier of a digital signature as was used by the creator of the digital signature."

This function returns the calculated SHA-1 hash on success, or FALSE on failure.


Syntax

sha1_file(file,raw)

Parameter Description
file Required. The file to be calculated
raw Optional. A boolean value that specifies hex or binary output format:
  • TRUE - Raw 20 character binary format
  • FALSE - Default. 40 character hex number

Technical Details

Return Value: Returns the calculated SHA-1 hash on success, or FALSE on failure
PHP Version: 4.3.0+
Changelog: The raw parameter became optional in PHP 5.0

As of PHP 5.1, it is possible to use sha1_file() with wrappers, e.g. sha1_file("http://w3ii.com/..")

More Examples

Example 1

Store the SHA-1 hash of "test.txt" in a file:

<?php
$sha1file = sha1_file("test.txt");
file_put_contents("sha1file.txt",$sha1file);
?>

Test if "test.txt" has been changed (that is if the SHA-1 hash has been changed):

<?php
$sha1file = file_get_contents("sha1file.txt");
if (sha1_file("test.txt") == $sha1file)
  {
  echo "The file is ok.";
  }
else
  {
  echo "The file has been changed.";
  }
?>

The output of the code above could be:

The file is ok.


< PHP String Reference