Rumah > pembangunan bahagian belakang > tutorial php > PHP获取文件的MD5值并判断是否被修改的例子

PHP获取文件的MD5值并判断是否被修改的例子

怪我咯
Lepaskan: 2023-03-09 08:30:02
asal
2515 orang telah melayarinya

这篇文章主要介绍了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;
}
Salin selepas log masuk

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;
?>
Salin selepas log masuk

存储 "test.txt" 文件的 MD5 散列:

代码如下:

<?php
$md5file = md5_file("test.txt");
file_put_contents("md5file.txt",$md5file);
?>
Salin selepas log masuk

在本例中,我们将检测 "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.";
}
?>
Salin selepas log masuk

输出:

代码如下:

The file is ok.
Salin selepas log masuk

Atas ialah kandungan terperinci PHP获取文件的MD5值并判断是否被修改的例子. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
php
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan