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:

  • TRUE - Originaler 20 Zeichen BinärfORMAT
  • FALSE - Standard. 40 Zeichen Hexadezimalzahl

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.