PHP sha1_file() 函数
示例
计算文本文件 “test.txt” 的 SHA-1 哈希值
<?php
$filename = "test.txt";
$sha1file = sha1_file($filename);
echo $sha1file;
?>
以上代码的输出将是
aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d
定义和用法
sha1_file() 函数计算文件的 SHA-1 哈希值。
sha1_file() 函数使用美国安全哈希算法 1。
来自 RFC 3174 - 美国安全哈希算法 1: “SHA-1 生成一个 160 位的输出,称为消息摘要。然后,消息摘要可以作为签名算法的输入,该算法生成或验证消息的签名。对消息摘要而不是消息进行签名通常可以提高效率,因为消息摘要的大小通常远小于消息。验证数字签名的验证者必须使用与数字签名创建者相同的哈希算法。”
此函数在成功时返回计算出的 SHA-1 哈希值,在失败时返回 FALSE。
语法
sha1_file(file,raw)
参数值
参数 | 描述 |
---|---|
file | 必需。要计算的文件 |
raw | 可选。一个布尔值,指定十六进制或二进制输出格式
|
技术细节
返回值 | 在成功时返回计算出的 SHA-1 哈希值,在失败时返回 FALSE |
---|---|
PHP 版本 | 4.3.0+ |
变更日志 | 从 PHP 5.1 开始,可以使用包装器使用 sha1_file(),例如 sha1_file("https://w3schools.com/..") |
更多示例
示例
将 “test.txt” 的 SHA-1 哈希值存储在文件中
<?php
$sha1file = sha1_file("test.txt");
file_put_contents("sha1file.txt",$sha1file);
?>
测试 “test.txt” 是否已更改(即 SHA-1 哈希值是否已更改)
<?php
$sha1file = file_get_contents("sha1file.txt");
if (sha1_file("test.txt") == $sha1file)
{
echo "文件正常。";
}
else
{
echo "文件已更改。";
}
?>
以上代码的输出可能是
文件正常。
❮ PHP 字符串参考