md5file php,PHP md5() 函数 md5_file() 函数

本文介绍了PHP中的md5()函数,用于计算字符串的MD5散列,以及其在数字签名和文件校验中的作用。示例展示了如何使用md5()函数计算字符串和文件的散列值,并进行比对。同时提到了md5_file()函数,用于计算文件的MD5值,以及如何检查文件内容是否被修改。
摘要由CSDN通过智能技术生成

md5()函数

md5() 函数计算字符串的 MD5 散列。

md5() 函数使用 RSA 数据安全,包括 MD5 报文摘要算法。

来自 RFC 1321 的解释 - MD5 报文摘要算法:MD5 报文摘要算法将任意长度的信息作为输入值,并将其换算成一个 128 位长度的"指纹信息"或"报文摘要"值来代表这个输入值,并以换算后的值作为结果。MD5 算法主要是为数字签名应用程序而设计的;在这个数字签名应用程序中,较大的文件将在加密(这里的加密过程是通过在一个密码系统下[如:RSA]的公开密钥下设置私有密钥而完成的)之前以一种安全的方式进行压缩。

如需计算文件的 MD5 散列,请使用 md5_file() 函数。

语法

md5(string,raw)

string必需。规定要计算的字符串。

raw可选。规定十六进制或二进制输出格式:

•TRUE - 原始 16 字符二进制格式

•FALSE - 默认。32 字符十六进制数

示例一

输出 md5() 的结果

$str = "Shanghai";

echo "字符串:".$str."
";

echo "TRUE - 原始 16 字符二进制格式:".md5($str, TRUE)."
";

echo "FALSE - 32 字符十六进制格式:".md5($str)."
";

// 字符串:Shanghai

// TRUE - 原始 16 字符二进制格式:Tf�W+��X0�D�j�)�

// FALSE - 32 字符十六进制格式:5466ee572bcbc75830d044e66ab429bc

?>

示例二

输出 md5() 的结果,然后对它进行测试

$str = "Shanghai";

echo md5($str); // 5466ee572bcbc75830d044e66ab429bc

if (md5($str) == "5466ee572bcbc75830d044e66ab429bc") {

echo "
Hello world!";

exit;

}

// Hello world!

?>

md5_file() 函数

md5_file() 函数计算文件的 MD5 散列。

md5_file() 函数使用 RSA 数据安全,包括 MD5 报文摘要算法。

来自 RFC 1321 的解释 - MD5 报文摘要算法:MD5 报文摘要算法将任意长度的信息作为输入值,并将其换算成一个 128 位长度的"指纹信息"或"报文摘要"值来代表这个输入值,并以换算后的值作为结果。MD5 算法主要是为数字签名应用程序而设计的;在这个数字签名应用程序中,较大的文件将在加密(这里的加密过程是通过在一个密码系统下[如:RSA]的公开密钥下设置私有密钥而完成的)之前以一种安全的方式进行压缩。

如需计算字符串的 MD5 散列,请使用 md5() 函数。

示例一

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

$md5file = md5_file("test.txt");

file_put_contents("md5file.txt",$md5file);

// 在md5file.txt文件中输出d41d8cd98f00b204e9800998ecf8427e

?>

示例二

检测 "test.txt" 是否已被更改(即 MD5 散列是否已被更改):

$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 sha1() 函数 sha1_file() 函数

http://taotaoit.com/article/details/743.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值