sha1() 函数
sha1() 函数计算字符串的 SHA-1 散列。
sha1() 函数使用美国 Secure Hash 算法 1。
来自 RFC 3174 的解释 - 美国 Secure Hash 算法 1:SHA-1 产生一个名为报文摘要的 160 位的输出。报文摘要可以被输入到一个可生成或验证报文签名的签名算法。对报文摘要进行签名,而不是对报文进行签名,这样可以提高进程效率,因为报文摘要的大小通常比报文要小很多。数字签名的验证者必须像数字签名的创建者一样,使用相同的散列算法。
提示:如需计算文件的 SHA-1 散列,请使用 sha1_file() 函数。
语法
sha1(string,raw)
string必需。规定要计算的字符串。
raw可选。规定十六进制或二进制输出格式:
•TRUE - 原始 20 字符二进制格式
•FALSE - 默认。40 字符十六进制数
示例一
$str = "Shanghai";
echo "字符串:".$str."
";
echo "TRUE - 原始 20 字符二进制格式:".sha1($str, TRUE)."
";
echo "FALSE - 40 字符十六进制数:".sha1($str)."
";
// 字符串:Shanghai
// TRUE - 原始 20 字符二进制格式:��cՊ\�r歽ʆt(�A�Q
// FALSE - 40 字符十六进制数:b99463d58a5c8372e6adbdca867428961641cb51
?>
示例二
输出 sha1() 的结果并对其进行测试
$str = "Shanghai";
echo sha1($str); // b99463d58a5c8372e6adbdca867428961641cb51
if (sha1($str) == "b99463d58a5c8372e6adbdca867428961641cb51") {
echo "
I love Shanghai!";
exit;
}
// I love Shanghai!
?>
sha1_file() 函数
sha1_file() 函数计算文件的 SHA-1 散列。
sha1_file() 函数使用美国 Secure Hash 算法 1。
来自 RFC 3174 的解释 - 美国 Secure Hash 算法 1:SHA-1 产生一个名为报文摘要的 160 位的输出。报文摘要可以被输入到一个可生成或验证报文签名的签名算法。对报文摘要进行签名,而不是对报文进行签名,这样可以提高进程效率,因为报文摘要的大小通常比报文要小很多。数字签名的验证者必须像数字签名的创建者一样,使用相同的散列算法。
如果成功则返回已计算的 SHA-1 散列,如果失败则返回 FALSE。
示例一
$sha1file = sha1_file("test.txt");
file_put_contents("sha1file.txt",$sha1file);
// sha1file.txt文件中输出da39a3ee5e6b4b0d3255bfef95601890afd80709
?>
示例二
测试 "test.txt" 是否已被修改(即 SHA-1 是否已被修改):
$sha1file = file_get_contents("sha1file.txt");
if (sha1_file("test.txt") == $sha1file) {
echo "The file is ok.";
} else {
echo "The file has been changed.";
}
// The file is ok.
?>
相似函数
PHP md5() 函数 md5_file() 函数
http://taotaoit.com/article/details/749.html