Como usar
1. Use hash_init() para obter um identificador de operação Hash incremental e especificar o algoritmo de criptografia.
2. Use hash_update() para adicionar strings, use hash_update_file() para adicionar conteúdo de arquivo e use hash_update_stream() para adicionar conteúdo de fluxo.
3. Use hash_final() para finalizar a operação de manipulação, realizar o cálculo do Hash e retornar o valor do resultado. O valor do resultado obtido é o resultado do hash do conteúdo da string, do arquivo e do fluxo.
Exemplo
//Incrementa HASH $fp = tmpfile(); fwrite($fp, 'Inicializar um arquivo de fluxo'); retroceder($fp); $h1 = hash_init('md5'); // Começa a incrementar o Hash hash_update($h1, 'incremento de teste'); // String comum hash_update_file($h1, './create-phar.php'); // Arquivo hash_update_stream($h1, $fp); ($h1); // Finaliza o Hash e retorna o resultado echo $v1, PHP_EOL; //373df6cc50a1d7cd53608208e91be1e7 $h2 = hash_init('md5', HASH_HMAC, 'secret'); // HASH incremental usando algoritmo HMAC hash_update($h2, 'incremento de teste'); hash_update_file($h2, './create-phar.php'); hash_update_stream($h2, $fp); $v2 = hash_final($h2); echo $v2, PHP_EOL; //34857ee5d8b573f6ee9ee20723470ea4
O texto acima é o uso da função Hash incremental do PHP, espero que seja útil para todos.