ホームページ  >  記事  >  バックエンド開発  >  PHP はファイルの SHA-1 ハッシュ関数 sha1_file() を計算します

PHP はファイルの SHA-1 ハッシュ関数 sha1_file() を計算します

黄舟
黄舟オリジナル
2017-11-03 09:07:431479ブラウズ

テキストファイル「test.txt」のSHA-1ハッシュを計算します:

<?php
$filename = "test.txt";
$sha1file = sha1_file($filename);
echo $sha1file;
?>

上記のコードは出力します:

aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d

定義と使用法

sha1_file() 関数次のSHA-1ハッシュを計算しますファイル 。

sha1_file() 関数は American Secure Hash アルゴリズム 1 を使用します。

RFC 3174 - US Secure Hash Algorithm 1 の説明: SHA-1 は、メッセージ Digest と呼ばれる 160 ビットの出力を生成します。メッセージ ダイジェストは、メッセージ署名を生成または検証する署名アルゴリズムに入力できます。メッセージの代わりにメッセージ ダイジェストに署名すると、通常、メッセージ ダイジェストのサイズがメッセージよりもはるかに小さいため、プロセスの効率が向上します。デジタル署名の検証者は、デジタル署名の作成者と同じハッシュ アルゴリズムを使用する必要があります。

成功した場合は計算された SHA-1 ハッシュを返し、失敗した場合は FALSE を返します。

構文

sha1_file(file,raw)
パラメータ 説明
ファイル 必須。計算するファイルを指定します。
はオプションです。 16 進数またはバイナリ出力形式を指定するブール値:
  • TRUE - 生の 20 文字のバイナリ形式

  • FALSE - デフォルト。 40 文字の 16 進数

技術的な詳細

戻り値: 成功した場合は計算された SHA-1 ハッシュを返し、失敗した場合は FALSE を返します。
PHP バージョン: 4.3.0+
変更ログ: PHP 5.0 では、生のパラメータはオプションになります。

PHP 5.1 以降、カプセル化を通じて sha1_file() を使用できるようになりました。例: sha1_file("http://w3cschool.cc/..")

更多实例

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


以上がPHP はファイルの SHA-1 ハッシュ関数 sha1_file() を計算しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。