Php/func string sha1 file

来自菜鸟教程
跳转至:导航、​搜索

PHP sha1_file()函数

❮PHP字符串参考

计算文本文件“ 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

可选的。一个布尔值,指定十六进制或二进制输出格式:

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

技术细节

返回值: 成功返回计算的SHA-1哈希,失败则返回FALSE
PHP版本: 4.3.0+
更新日志: 从PHP 5.1开始,可以将sha1_file()与包装一起使用,例如

sha1_file(“ https://example.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 "The file is ok.";

  }

else

  {

  echo "The file has been changed.";

  }

?>

上面代码的输出可能是:

The file is ok.



❮PHP字符串参考