PHP sha1_file() Funktion
Beispiel
Berechnung der SHA-1-Hashfunktion des Textdatei "test.txt":
<?php $filename = "test.txt"; $sha1file = sha1_file($filename); echo $sha1file; ?>
以上代码的输出:
aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d
Definition und Verwendung
Die Funktion sha1_file() berechnet die SHA-1-Hashfunktion der Datei.
Die Funktion sha1_file() verwendet den US Secure Hash Algorithm 1.
Erklärung aus RFC 3174 - Der US Secure Hash Algorithm 1: SHA-1 erzeugt eine 160-Bit-Ausgabe namens Nachrichtensumme. Die Nachrichtensumme kann in eine Signaturalgorithmus übergeben werden, der Nachrichten signatures generieren oder überprüfen kann. Eine Nachrichtensumme zu signieren, anstatt eine Nachricht zu signieren, verbessert die Prozesseffizienz, da die Größe der Nachrichtensumme in der Regel viel kleiner als die der Nachricht ist. Der Verifizierer der digitalen Signatur muss wie der Ersteller der digitalen Signatur denselben Hashalgorithmus verwenden.
Erfolgreich zurückgegeben wird der berechnete SHA-1-Hash, wenn der Fehler FALSE zurückgegeben wird.
Syntax
sha1_file(Datei,roh)
Parameter | Beschreibung |
---|---|
Datei | Erforderlich. Der zu berechnende Datei angegeben. |
roh |
Optional. Boolescher Wert, der das Hexadezimal- oder Binäroffset formatiert:
|
Technische Details
Rückgabewert: | Erfolgreich zurückgegeben wird der berechnete SHA-1-Hash, wenn der Fehler FALSE zurückgegeben wird. |
PHP-Version: | 4.3.0+ |
Aktualisierungsprotokoll: |
In PHP 5.0:roh Parameter sind optional. Ab PHP 5.1 kann sha1_file() durch Verpackung verwendet werden. Zum Beispiel: sha1_file("http://codew3c.com/..") |
Mehr Beispiele
Beispiel 1
Speichern Sie den SHA-1-Hash der Datei "test.txt" im Datei:
<?php $sha1file = sha1_file("test.txt"); file_put_contents("sha1file.txt",$sha1file); ?>
Testen Sie, ob "test.txt" geändert wurde (d.h. SHA-1 wurde geändert):
<?php $sha1file = file_get_contents("sha1file.txt"); if (sha1_file("test.txt") == $sha1file) { echo "Die Datei ist in Ordnung."; } else { echo "Die Datei wurde geändert."; } ?>
以上代码的输出:
Die Datei ist in Ordnung.