Функция sha1_file() в PHP
Пример
Вычисление хеша SHA-1 текстового файла "test.txt":
<?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.0:raw Параметр становится опциональным. С PHP 5.1 можно использовать sha1_file() через обертку. Например: sha1_file("http://codew3c.com/..") |
Более примеров
Пример 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 "Файл в порядке."; } else { echo "Файл был изменен."; } ?>
Вывод кода выше:
Файл в порядке.