Вычислите хэш SHA-1 текстового файла «test.txt»:
<?php$filename = "test.txt";$sha1file = sha1_file($filename);echo $sha1file;?>Приведенный выше код выведет:
aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434dФункция sha1_file() вычисляет хэш SHA-1 файла.
Функция sha1_file() использует американский алгоритм Secure Hash1.
Пояснение из RFC 3174 — Алгоритм безопасного хеширования США 1: SHA-1 создает 160-битный вывод, называемый дайджестом сообщения. Дайджест сообщения может быть передан в алгоритм подписи, который генерирует или проверяет подпись сообщения. Подписание дайджеста сообщения вместо самого сообщения может повысить эффективность процесса, поскольку размер дайджеста сообщения обычно намного меньше размера самого сообщения. Верификатор цифровой подписи должен использовать тот же алгоритм хеширования, что и создатель цифровой подписи.
Возвращает вычисленный хэш SHA-1 в случае успеха или FALSE в случае неудачи.
sha1_file( файл,сырой )
параметр | описывать |
---|---|
файл | Необходимый. Указывает файл для расчета. |
сырой | Необязательный. Логическое значение, определяющее шестнадцатеричный или двоичный формат вывода: TRUE — необработанный 20-символьный двоичный формат. ЛОЖЬ — значение по умолчанию. Шестнадцатеричное число из 40 символов |
Возвращаемое значение: | Возвращает вычисленный хэш SHA-1 в случае успеха или FALSE в случае неудачи. |
---|---|
PHP-версия: | 4.3.0+ |
Журнал обновлений: | В PHP 5.0 параметр raw становится необязательным. Начиная с PHP 5.1, sha1_file() можно использовать посредством инкапсуляции. Например: sha1_file("http://w3cschool.cc/..") |
Сохраните хеш 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 "Файл был изменен ..; }?>Приведенный выше код выведет:
Файл в порядке.