Функция md5_file() в PHP
Пример
Вычислить MD5-хеш текстового файла "test.txt":
<?php $filename = "test.txt"; $md5file = md5_file($filename); echo $md5file; ?>
Вывод вышеуказанного кода:
d41d8cd98f00b204e9800998ecf8427e
Определение и использование
Функция md5_file() вычисляет MD5-хеш файла.
Функция md5_file() использует данные безопасности RSA, включая алгоритм сообщения с цифровым摘要 MD5.
Объяснение из RFC 1321 - Алгоритм сообщения с цифровым摘要 MD5: Алгоритм сообщения с цифровым摘要 MD5 преобразует информацию любого размера в входное значение, преобразуя её в 128-битный "фингерпринт" или "сообщение с цифровым摘要", представляющий этот входной Wert, и использует преобразованное значение в качестве результата. Алгоритм MD5主要是 предназначен для приложений цифровой подписи; в этих приложениях, большие файлы сжимаются в безопасном режиме перед шифрованием (процесс шифрования осуществляется с помощью私ного ключа в системе шифрования [например, RSA], используя открытый ключ)。
Для вычисления MD5-хеша строки используйте md5() Функция.
Синтаксис
md5_file(file,raw)
Параметры | Описание |
---|---|
file | Обязателен. Определяет файл, подлежащий вычислению. |
raw |
Опционально. Булево значение, определяющее формат вывода шестнадцатеричного или двоичного формата:
|
Технические детали
Возврат значений: | Возвращает вычисленный MD5-хеш, если успешен, в противном случае FALSE. |
Версия PHP: | 4.2.0+ |
Журнал обновлений: |
В PHP 5.0 была добавлена raw Параметры. С PHP 5.1 можно использовать md5_file() через обертку. Например: md5_file("http://w3cschool.com.cn/..") |
Более примеров
Пример 1
Сохранение MD5-хеша файла "test.txt":
<?php $md5file = md5_file("test.txt"); file_put_contents("md5file.txt",$md5file); ?>
Проверка того, был ли изменен файл "test.txt" (т.е. изменена MD5-хеш):
<?php $md5file = file_get_contents("md5file.txt"); if (md5_file("test.txt") == $md5file) { echo "Файл в порядке."; } else { echo "Файл был изменен."; } ?>
Вывод вышеуказанного кода:
Файл в порядке.