PHP md5_file()関数

テキストファイル"test.txt"のMD5散列を計算します:

<?php
$filename = "test.txt";
$md5file = md5_file($filename);
echo $md5file;
?>

以下のコードの出力:

d41d8cd98f00b204e9800998ecf8427e

定義と使用方法

md5_file()関数はファイルのMD5散列を計算します。

md5_file()関数はRSAデータセキュリティを使用し、MD5メッセージ要約アルゴリズムを含みます。

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.com.cn/..")

さらに例

例 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 "ファイルは正常です.";
  }
else
  {
  echo "ファイルが変更されました.";
  }
?>

以下のコードの出力:

ファイルは正常です。