テキスト ファイル「test.txt」の SHA-1 ハッシュを計算します。
<?php$filename = "test.txt";$sha1file = sha1_file($filename);echo $sha1file;?>上記のコードは次のように出力します。
aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434dsha1_file() 関数は、ファイルの SHA-1 ハッシュを計算します。
sha1_file() 関数は、American Secure Hash アルゴリズム 1 を使用します。
RFC 3174 - US Secure Hash Algorithm 1 の説明: SHA-1 は、メッセージ ダイジェストと呼ばれる 160 ビットの出力を生成します。メッセージ ダイジェストは、メッセージ署名を生成または検証する署名アルゴリズムに入力できます。メッセージの代わりにメッセージ ダイジェストに署名すると、通常、メッセージ ダイジェストのサイズがメッセージよりもはるかに小さいため、プロセスの効率が向上します。デジタル署名の検証者は、デジタル署名の作成者と同じハッシュ アルゴリズムを使用する必要があります。
成功した場合は計算された SHA-1 ハッシュを返し、失敗した場合は FALSE を返します。
sha1_file(ファイル,生)
パラメータ | 説明する |
---|---|
ファイル | 必須。計算するファイルを指定します。 |
生 | オプション。 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/..") |
「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 "ファイルは問題ありません。" }else { echo "ファイルは変更されました."; }?>上記のコードは次のように出力します。
ファイルは大丈夫です。