Beispiel
Berechnen Sie den SHA-1-Hash der Textdatei „test.txt“:
<?php $filename = "test.txt"; $sha1file = sha1_file($filename); echo $sha1file; ?>
Der obige Code gibt Folgendes aus:
aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d
Definition und Verwendung
sha1_file() Funktion berechnet den SHA-1-Hash einer Datei.
Die Funktion sha1_file() verwendet den American Secure Hash-Algorithmus 1.
Erklärung aus RFC 3174 – US Secure Hash Algorithmus 1: SHA-1 erzeugt eine 160-Bit-Ausgabe namens Digest . Der Nachrichtenauszug kann in einen Signaturalgorithmus eingespeist werden, der die Nachrichtensignatur generiert oder überprüft. Das Signieren des Nachrichtenauszugs anstelle der Nachricht kann die Prozesseffizienz verbessern, da der Nachrichtenauszug normalerweise viel kleiner ist als die Nachricht. Der Prüfer einer digitalen Signatur muss denselben Hashing-Algorithmus verwenden wie der Ersteller der digitalen Signatur.
Gibt bei Erfolg den berechneten SHA-1-Hash zurück, bei Fehler FALSE.
Syntax
sha1_file(file,raw)
Parameter | Beschreibung | ||||||||||||
file | Erforderlich . Gibt die zu berechnende Datei an. | ||||||||||||
raw | Optional. Ein boolescher Wert, der das hexadezimale oder binäre Ausgabeformat angibt:
|
Rückgabewert: | Gibt den berechneten SHA-1-Hash zurück, wenn erfolgreich, oder FALSE, wenn fehlgeschlagen. |
PHP-Version: | 4.3.0+ |
Protokoll aktualisieren<🎜>: | < td width="555" valign="top" style="word-break: break-all;">In PHP 5.0 wird der Rohparameter optional.
更多实例
实例 1
在文件中存储 "test.txt" 的 SHA-1 散列:
<?php $sha1file = sha1_file("test.txt"); file_put_contents("sha1file.txt",$sha1file); ?>
检测 "test.txt" 是否已被更改(即 SHA-1 散列是否已被更改):
<?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 file is ok.
Das obige ist der detaillierte Inhalt vonPHP berechnet die SHA-1-Hash-Funktion sha1_file() einer Datei. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!