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
| 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
<?php
$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:
<?php
$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):
<?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:
Complete PHP String Reference

The Altova MissionKit is an integrated suite of tools ideal for:
- XML development
- Web & Web services development
- Data mapping & integration
- Rendering & publishing XML & database data
- XBRL validation, taxonomy editing, transformation & rendering
The MissionKit for XML Developers includes XMLSpy® - the industry-leading XML editor; MapForce® - a
graphical data mapping, conversion, and integration tool; StyleVision® - a visual XSLT stylesheet designer;
DiffDog® - an XML-aware diff/merge tool; and 2 additional tools.
Try all 6 products free for 30 days!
Download a fully-functional free trial
|
|
|
|