PHP sha1_file()Функция

PHP String 参考手册Справочное руководство по строкам PHP

Примеры

Вычислить хеш SHA-1 текстового файла "test.txt":

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

Приведённый выше код выведет:

aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d


Определение и использование

Функция sha1_file() вычисляет хеш SHA-1 файла.

Функция sha1_file() использует US Secure Hash Algorithm 1.

Пояснение из RFC 3174 - US Secure Hash Algorithm 1:SHA-1 создает 160-битный вывод, называемый дайджестом сообщения. Дайджест сообщения может быть входными данными для алгоритма подписи, который генерирует или проверяет подпись сообщения. Подпись дайджеста сообщения, а не самого сообщения, повышает эффективность процесса, поскольку дайджест сообщения обычно намного меньше сообщения. Проверяющий цифровой подписи должен использовать тот же алгоритм хеширования, что и создатель цифровой подписи.

Возвращает вычисленный хеш SHA-1 при успешном выполнении или FALSE при ошибке.


Синтаксис

sha1_file(file,raw)

Parameters Описание
файл Обязательный. Указывает файл для вычисления.
raw Необязательный. Логическое значение, задающее шестнадцатеричный или двоичный формат вывода:
  • TRUE - необработанный 20-символьный двоичный формат
  • FALSE - по умолчанию. 40-символьное шестнадцатеричное число

Технические детали

Возвращаемое значение: Возвращает вычисленный хеш SHA-1 при успешном выполнении или FALSE при ошибке.
Версия PHP: 4.3.0+
Список изменений: В PHP 5.0 параметрrawстал необязательным.

Начиная с PHP 5.1, sha1_file() можно использовать с обёртками. Например: sha1_file("http://w3cschool.cc/..")


Другие примеры

Пример 1

Сохранить хеш SHA-1 файла "test.txt" в файл:

<?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.";
}
?>

Приведённый выше код выведет:

Файл в порядке.



PHP String 参考手册Справочное руководство по строкам PHP Другие расширения