在PHP中,字符串函数 md5_file () 用于计算一个指定文件的 MD5 散列值。
md5_file () 函数
函数语法:
md5_file ( string $filename [, bool $raw_output = FALSE ] ) : string
函数参数说明:
参数 | 描述 |
---|---|
filename | 必需。规定要计算的字符串。 |
raw_output | 可选。规定十六进制或二进制输出格式:
|
该函数使用 RSA 数据安全,包括 MD5 报文摘要算法。如果成功则返回已计算的 MD5 散列,如果失败则返回 FALSE。
MD5 报文摘要算法将任意长度的信息作为输入值,并将其换算成一个 128 位长度的"指纹信息"或"报文摘要"值来代表这个输入值,并以换算后的值作为结果。MD5 算法主要是为数字签名应用程序而设计的;在这个数字签名应用程序中,较大的文件将在加密(这里的加密过程是通过在一个密码系统下[如:RSA]的公开密钥下设置私有密钥而完成的)之前以一种安全的方式进行压缩。
如需计算字符串的 MD5 散列,请使用 md5() 函数。
举例,计算文件的 MD5 散列值(raw_output使用默认值false):
<?php $filename = 'hello.txt'; echo md5_file($filename); // 计算文件的md5散列值
假设 hello.txt 文件中的内容为“hello world”,以上代码输出如下(默认情况下,输出32字符的十六进制数):
5eb63bbbe01eeed093cb22bb8f5acdc3
当改变文件内容后,生成的md5散列值将发生改变。
举例,计算文件的 MD5 散列值(raw_output使用值true):
<?php $filename = 'hello.txt'; echo md5_file($filename,true); // 计算文件的md5散列值
以上代码输出如下(输出16字符的字符串):
^�;����"��Z��