Вычислите хэш 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( файл,необработанный )
параметр | описывать |
---|---|
файл | Необходимый. Указывает файл для расчета. |
сырой | Необязательный. Логическое значение, определяющее шестнадцатеричный или двоичный формат вывода: TRUE — необработанный 16-символьный двоичный формат. ЛОЖЬ — значение по умолчанию. 32-значное шестнадцатеричное число |
Возвращаемое значение: | Возвращает вычисленный хэш MD5 в случае успеха или FALSE в случае неудачи. |
---|---|
PHP-версия: | 4.2.0+ |
Журнал обновлений: | В PHP 5.0 параметр raw становится необязательным. Начиная с PHP 5.1, md5_file() можно использовать через обертки. Например: md5_file("http://w3cschool.cc/..") |
Сохраните 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 "Файл был изменен. ..; }?>Приведенный выше код выведет:
Файл в порядке.