Funksyon ng sha1_file() ng PHP

Mga halimbawa

Tutuos ng SHA-1 hash ng tekstong file "test.txt":

<?php
$filename = "test.txt";
$sha1file = sha1_file($filename);
echo $sha1file;
?>

以上代码的输出:

aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d

Paglilinaw at paggamit

Ang funksyon ng sha1_file() ay nagtutuos ng SHA-1 hash ng file.

Ang funksyon ng sha1_file() ay gumagamit ng Estados Unidos Secure Hash Algorithm 1.

Mga paliwanag mula sa RFC 3174 - Ang Estados Unidos Secure Hash Algorithm 1: SHA-1 ay nagbibigay ng isang 160-bit na output na tinatawag na digest ng mensahe. Ang digest ng mensahe ay maaaring ilagay sa isang algoritmo ng pagkakasulat o pagpapatoto ng mensahe na nagbibigay ng mensahe na pinirmahan. Ang pagkakasulat ng digest ng mensahe sa halip na pagkakasulat ng mensahe ay magbibigay-daan sa pagtutustos ng kahusayan ng proseso, dahil ang laki ng digest ng mensahe ay mas maliit ng marami kaysa sa mensahe. Ang tagapagtoto ng digital na pirmahan ay dapat gumamit ng parehong algoritmo ng hashing tulad ng tagapaglikha ng digital na pirmahan.

如果成功则返回已计算的 SHA-1 散列,如果失败则返回 FALSE。

语法

sha1_file(file,raw)
参数 描述
file 必需。规定要计算的文件。
raw

可选。布尔值,规定十六进制或二进制输出格式:

  • TRUE - 原始 20 字符二进制格式
  • FALSE - 默认。40 字符十六进制数

技术细节

返回值: 如果成功则返回已计算的 SHA-1 散列,如果失败则返回 FALSE。
PHP 版本: 4.3.0+
更新日志:

在 PHP 5.0 中,raw 参数变成可选的。

自 PHP 5.1 起,可以通过封装来使用 sha1_file()。例如: sha1_file("http://codew3c.com/..")

更多实例

例子 1

在文件中存储 "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 "The file is ok.";
  }
else
  {
  echo "The file has been changed.";
  }
?>

以上代码的输出:

The file is ok.