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