PHP sha1_file()関数

PHP String 参考手册PHP String リファレンスマニュアル

例

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

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

上記のコードは次のように出力します:

aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d


定義と使用法

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

sha1_file() 関数は米国 Secure Hash Algorithm 1 を使用します。

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

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


構文

sha1_file(file,raw)

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

技術詳細

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

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 String 参考手册PHP String リファレンスマニュアル その他の拡張機能