實例
計算文字檔案"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中文網其他相關文章!