首頁 >後端開發 >php教程 >php計算檔的MD5雜湊函數md5_file()

php計算檔的MD5雜湊函數md5_file()

黄舟
黄舟原創
2017-11-02 13:26:581868瀏覽

實例

計算文字檔案"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           選購。一個規定十六進位或二進位輸出格式的布林值:

                 TRUE - 原始 16 字元二進位格式

       32 字元十六進位數

技術細節

傳回值:             若成功則傳回已計算的MD5 雜湊,若失敗則返回FALSE。

PHP 版本:         4.2.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計算檔的MD5雜湊函數md5_file()的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn