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