PHP md5_file()Функция

PHP String 参考手册Справочное руководство по строкам 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-битное значение "отпечаток" или "дайджест сообщения", представляющее этот вход, при этом преобразованное значение является результатом. Алгоритм MD5 в первую очередь предназначен для приложений цифровой подписи; в этом приложении цифровой подписи более крупный файл сжимается безопасным образом перед шифрованием (где процесс шифрования осуществляется путем установки закрытого ключа под открытым ключом в криптосистеме, такой как RSA).

Чтобы вычислить MD5-хэш строки, используйте md5()функцию.


Синтаксис

md5_file(file,raw)

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

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

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

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


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

Пример 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 "The file is ok.";
}
else
{
echo "The file has been changed.";
}
?>

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

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



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