PHP sha1_file() Function
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:
|
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://w3schools.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