PHP md5_file()関数

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

例

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

<?php
$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進数またはバイナリ出力形式を指定するブール値:
  • TRUE - 生の16文字バイナリ形式
  • FALSE - デフォルト。32文字の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);
?>

"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.";
}
?>

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

The file is ok.



PHP String 参考手册PHP String リファレンスマニュアル その他の拡張