Как использовать
1. Используйте hash_init(), чтобы получить дескриптор инкрементной операции хеширования и указать алгоритм шифрования.
2. Используйте hash_update() для добавления строк, используйте hash_update_file() для добавления содержимого файла и используйте hash_update_stream() для добавления содержимого потока.
3. Используйте hash_final(), чтобы завершить операцию дескриптора, выполнить вычисление хеша и вернуть значение результата. Полученное значение результата является результатом хеширования содержимого строки, файла и потока.
Пример
// Увеличение HASH $fp = tmpfile(); fwrite($fp, 'Инициализировать файл потока'); перемотка назад ($fp); $h1 = hash_init('md5'); // Начинаем увеличивать хэш hash_update($h1, 'тестовое приращение'); // Обычная строка hash_update_file($h1, './create-phar.php'); // Файл hash_update_stream($h1, $fp); // Поток $v1 = hash_final; ($h1 // Завершаем хэш и возвращаем результат echo $v1, PHP_EOL; // 373df6cc50a1d7cd53608208e91be1e7 $h2 = hash_init('md5', HASH_HMAC, 'secret'); // Инкрементный HASH с использованием алгоритма HMAC; hash_update($h2, 'тестовое приращение'); hash_update_file($h2, './create-phar.php'); hash_update_stream ($ h2, $ fp); $v2 = hash_final($h2); эхо $v2, PHP_EOL; // 34857ee5d8b573f6ee9ee20723470ea4
Выше описано использование инкрементальной хеш-функции PHP. Надеюсь, это будет полезно всем.