PHP - Função Hash hmac file ()

Definição e Uso

o hash_hmac_file() A função é usada para gerar o valor de hash com chave para o conteúdo do arquivo fornecido usando o método HMAC.

HMAC significa código de autenticação de mensagem hash com chave ou código de autenticação de mensagem baseado em hash. Ele faz uso de função hash criptográfica como md5, sha-256 e uma chave secreta para hash o conteúdo do arquivo fornecido.

Sintaxe

hash_hmac_file ( 
   string $algo , string $filename , string $key [, bool $raw_output = FALSE ] 
) 
: string

Parâmetros

Sr. Não Parâmetro e Descrição
1

algo

Nome do algoritmo de hash. Há uma grande lista de algoritmos disponíveis com hash, alguns importantes são md5, sha256, etc.

Para obter a lista completa de algoritmos suportados, verifique por hash_hmac_algos ()

2

filename

O caminho do arquivo para obter o conteúdo do arquivo.

3

key

Chave secreta para gerar a variante HMAC do resumo da mensagem.

4

raw_output

Por padrão, o valor é falso e, portanto, retorna valores hexadecimais em minúsculas. Se o valor for verdadeiro, ele retornará dados binários brutos.

Valores Retornados

o hash_hmac_file() A função retorna uma string de resumo da mensagem calculada que terá a forma de hexits em minúsculas se raw_output for false, caso contrário, retornará dados binários brutos.

Versão PHP

Esta função funcionará na versão do PHP superior a 5.1.2.

Exemplo 1

Usando hash_hmac_file () -

<?php
   file_put_contents('file2.txt', 'Welcome to Tutorialspoint');
   echo hash_hmac_file('md5', 'file2.txt', 'anysecretkey');
?>

Resultado

Isso produzirá o seguinte resultado -

e519cec21ac0c04a92ff5b358931b49d

Exemplo 2

Diferença na saída hash_hmac_file () quando o conteúdo do arquivo é alterado -

<?php
   file_put_contents('abc.txt', 'Hello'); 
   echo hash_hmac_file('sha256', 'abc.txt', 'mysecretkey'); 
   echo "<br/><br/>";
   file_put_contents('abc.txt', 'World');
   echo hash_hmac_file('md5', 'abc.txt', 'anysecretkey'); 
?>

Resultado

Isso produzirá o seguinte resultado -

362a60a6ef4e35f9559304a6b5372b070c97ba33cb4a747503c9c58b5c85e6db2652fb7ccf4cff91df4f08add44b93b2

Exemplo 3

Diferença na saída hash_file () e hash_hmac_file () -

<?php
   file_put_contents('filetest.txt', 'Welcome to Tutorialspoint');
   echo hash_file('sha256', 'filetest.txt');
   echo "<br/><br/>";
   file_put_contents('abc.txt', 'Welcome to Tutorialspoint'); 
   echo hash_hmac_file('sha256', 'abc.txt', 'mysecretkey'); 
?>

Resultado

Isso produzirá o seguinte resultado -

a6baf12546b9a5cf6df9e22ae1ae310b8c56be2da2e9fd2c91c94314eb0e5a2e7f8a726d250c08400820b3a1818f5b650784990eee7f23e3f1946373f2dd6e96