PHP sha1_file()関数
例
テキストファイル "test.txt" の SHA-1 ハッシュを計算します:
<?php
$filename = "test.txt";
$sha1file = sha1_file($filename);
echo $sha1file;
?>
$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進数またはバイナリ出力形式を指定するブール値:
|
技術詳細
| 戻り値: | 成功した場合は計算された 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);
?>
$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.";
}
?>
$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 リファレンスマニュアル その他の拡張機能