PHP md5_file() 函数
说明
md5_file()
函数计算文件的 MD5(消息摘要算法 5)哈希。
此函数使用 RSA Data Security, Inc. MD5 消息摘要算法计算文件的 MD5 散列,并返回该散列。 要计算字符串的 MD5 哈希,请使用 md5() 函数。
下表总结了该函数的技术细节。
返回值: | 成功时返回 MD5 哈希,失败时返回 FALSE 。 |
---|---|
版本: | PHP 4.2.0+ |
语法
md5_file()
函数的基本语法如下:
md5(filename, raw_format);
下面的例子展示了 md5_file()
函数的作用。
<?php
// 示例文件
$filename = "hello.txt"; // Contains the text "Hello World!"
// 计算哈希
echo md5_file($filename);
?>
上面示例的输出将如下所示:
ed076287532e86365e841e92bfc50d8c
提示: md5_file()
函数通常用于为通过网络发送的文件创建唯一的哈希码。 因此,在下载文件后,用户可以通过计算其 MD5 哈希并将其与分发提供的哈希码进行比较来验证其完整性。 此过程可以确保通过网络传输的文件不会损坏。
参数
md5_file()
函数接受以下参数。
参数 | 说明 |
---|---|
string | 必填。 指定要从中创建哈希的文件的名称。 |
raw_format | 可选。 如果设置为 true ,则返回长度为 16 的原始二进制格式的哈希。默认值为 false ,它将哈希作为 32 个字符的十六进制数返回。 |
更多示例
这里有更多示例显示 md5_file()
函数的实际工作原理:
以下示例演示如何使用此函数验证文件是否有任何更改。
下面的 PHP 代码首先将文件的 MD5 哈希值存储在文本文件中。
<?php
// 示例文件
$file = "config.asp";
// 将配置文件的 MD5 哈希值存储在"hash.txt"文件中
file_put_contents("hash.txt", md5_file($file));
?>
下面的 PHP 代码计算并比较"config.asp"文件的 MD5 哈希与存储在"hash.txt"中的初始 MD5 哈希,并告诉我们它是否被修改。
<?php
// 检索存储的 MD5 哈希
$prev_hash = file_get_contents("hash.txt");
// 用前一个验证当前的 MD5 哈希
if(md5_file("config.asp") == $prev_hash){
echo "There has been no change in the file.";
} else{
echo "The file has been modified.";
}
?>
Advertisements