首頁  >  文章  >  後端開發  >  PHP取得檔案的MD5值並判斷是否被修改的例子

PHP取得檔案的MD5值並判斷是否被修改的例子

怪我咯
怪我咯原創
2017-06-12 13:50:322472瀏覽

這篇文章主要介紹了PHP取得檔案的MD5值並判斷是否被修改的例子,Message Digest Algorithm MD5(中文名為訊息摘要演算法第五版)為電腦安全領域廣泛使用的一種雜湊函數,用以提供訊息的完整性保護,需要的朋友可以參考下

由於需要判斷上傳的檔案是否被修改過,需要記錄上傳檔案的md5值,這裡記錄一下取得檔案md5值的方法。

 程式碼如下:
##

if(isset($_FILES['multimedia']) && $_FILES['multimedia']['error']==0)
{
 $file_name = $_FILES['multimedia']['name'];
 $size = getimagesize($_FILES['multimedia']['tmp_name']);
    $type = $_FILES['multimedia']['type'];
 $original = $_FILES['multimedia']['tmp_name'];
 $md5 = md5_file($original);
 echo $md5;
}

#md5_file()

md5_file() 函數計算檔案的MD5 雜湊。 md5() 函數使用 RSA 資料安全,包括 MD5 報文摘譯演算法。如果成功,則傳回所計算的 MD5 雜湊,如果失敗,則傳回 false。

語法:md5(string,raw)

參數string,必要。規定要計算的文件。

參數charlist,可選。規定十六進位或二進位輸出格式:TRUE - 原始 16 字元二進位格式;FALSE - 預設。 32 字元十六進制數。

程式碼如下:

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

儲存"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值並判斷是否被修改的例子的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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