PHP md5_file()関数
例
テキストファイル "test.txt" の MD5 ハッシュを計算します:
<?php
$filename = "test.txt";
$md5file = md5_file($filename);
echo $md5file;
?>
$filename = "test.txt";
$md5file = md5_file($filename);
echo $md5file;
?>
上記のコードは次のように出力します:
d41d8cd98f00b204e9800998ecf8427e
定義と使用法
md5_file() 関数はファイルの MD5 ハッシュを計算します。
md5_file() 関数は、MD5 メッセージダイジェストアルゴリズムを含む RSA データセキュリティを使用します。
RFC 1321 からの説明 - MD5 メッセージダイジェストアルゴリズム:MD5 メッセージダイジェストアルゴリズムは、任意の長さの情報を入力値として受け取り、それを 128 ビット長の「フィンガープリント情報」または「メッセージダイジェスト」値に変換してこの入力値を表し、変換後の値を結果とします。MD5 アルゴリズムは主にデジタル署名アプリケーション向けに設計されています。このデジタル署名アプリケーションでは、大きなファイルは暗号化(ここでの暗号化プロセスは、パスワードシステム[例:RSA]の公開鍵の下で秘密鍵を設定することによって完了します)前に安全な方法で圧縮されます。
文字列の MD5 ハッシュを計算するには、 md5()関数を使用します。
構文
md5_file(file,raw)
| パラメータ | 説明 |
|---|---|
| file | 必須。計算するファイルを指定します。 |
| raw | オプション。16進数またはバイナリ出力形式を指定するブール値:
|
技術詳細
| 戻り値: | 成功した場合は計算された MD5 ハッシュを返し、失敗した場合は FALSE を返します。 |
|---|---|
| PHP バージョン: | 4.2.0+ |
| 更新ログ: | PHP 5.0 では、rawパラメータはオプションになりました。 PHP 5.1 以降、ラッパーを通じて md5_file() を使用できます。例: md5_file("http://w3cschool.cc/..") |
その他の例
例 1
ファイルに "test.txt" の MD5 ハッシュを保存します:
<?php
$md5file = md5_file("test.txt");
file_put_contents("md5file.txt",$md5file);
?>
$md5file = md5_file("test.txt");
file_put_contents("md5file.txt",$md5file);
?>
"test.txt" が変更されたかどうか(つまり MD5 ハッシュが変更されたかどうか)を確認します:
<?php
$md5file = file_get_contents("md5file.txt");
if (md5_file("test.txt") == $md5file)
{
echo "The file is ok.";
}
else
{
echo "The file has been changed.";
}
?>
$md5file = file_get_contents("md5file.txt");
if (md5_file("test.txt") == $md5file)
{
echo "The file is ok.";
}
else
{
echo "The file has been changed.";
}
?>
上記のコードは次のように出力します:
The file is ok.
PHP String リファレンスマニュアル その他の拡張