Heim  >  Artikel  >  Backend-Entwicklung  >  PHP berechnet die SHA-1-Hash-Funktion sha1_file() einer Datei

PHP berechnet die SHA-1-Hash-Funktion sha1_file() einer Datei

黄舟
黄舟Original
2017-11-03 09:07:431428Durchsuche

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:
  • 参数 描述
    file 必需。规定要计算的文件。
    raw 可选。一个规定十六进制或二进制输出格式的布尔值:
    • TRUE - 原始 20 字符二进制格式

    • FALSE - 默认。40 字符十六进制数

    TRUE – rohes 20-Zeichen-Binärformat

  • FALSE – Standard. 40-stellige Hexadezimalzahl
    返回值: 如果成功则返回已计算的 SHA-1 散列,如果失败则返回 FALSE。
    PHP 版本: 4.3.0+
    更新日志 在 PHP 5.0 中,raw 参数变成可选的。

    自 PHP 5.1 起,可以通过封装使用 sha1_file()。例如: sha1_file("http://w3cschool.cc/..")
Technische DetailsIn PHP 5.0 wird der Rohparameter optional.

Seit PHP 5.1 kann sha1_file() durch Kapselung verwendet werden. Beispiel: sha1_file("http://w3cschool.cc/..")
Rückgabewert: Gibt den berechneten SHA-1-Hash zurück, wenn erfolgreich, oder FALSE, wenn fehlgeschlagen.
PHP-Version: 4.3.0+
Protokoll aktualisieren:

更多实例

实例 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn