Функция 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

Опционально. Булево значение, определяющее формат вывода шестнадцатеричного или двоичного формата:

  • TRUE - исходный 16-разрядный двоичный формат
  • FALSE - по умолчанию. 32-разрядное шестнадцатеричное число

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

Возврат значений: Возвращает вычисленный 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 "Файл был изменен.";
  }
?>

Вывод вышеуказанного кода:

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