Blog : PHP sha1_file() Function
PHP sha1_file() Function
--------------------------------------------------------------------------------
Complete PHP String Reference
--------------------------------------------------------------------------------
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. Specifies hex or binary output format:
TRUE - Raw 20 character binary format
FALSE - Default. 40 character hex number
Note: This parameter was added in PHP 5.0
--------------------------------------------------------------------------------
Example 1
$filename = "test.txt";
$sha1file = sha1_file($filename);
echo $sha1file;
?>
The output of the code above will be:
aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d
--------------------------------------------------------------------------------
Example 2
Store the SHA-1 hash of "test.txt" in a file:
$sha1file = sha1_file("test.txt");
file_put_contents("sha1file.txt",$sha1file);
?>
In this example we will test if "test.txt" has been changed (that is if the SHA-1 hash has been changed):
$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.