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進数または二進数の出力形式を指定します:
|
技術的詳細
返り値: | 成功した場合、計算された 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 "ファイルが変更されました."; } ?>
以下のコードの出力:
ファイルは正常です。