Tutorialspoint.dev

PHP | hash_hmac_file() Function

The hash_hmac_file() function is an inbuilt function in PHP which is used generate a keyed hash value using contents of a given file.

Syntax:

string hash_hmac_file( $algo, $file, $key, $raw_opt )

Parameters: This function accept four parameters as mention above and describe below.

  • $algo: It is the required parameter which specifies the selected hashing algorithm.
  • $file: This parameter is used to specify the file url to be hashed.
  • $key: This parameter is sued to hold the shared secret key used for generating the HMAC.
  • $raw_opt: If the parameter is set to true then output will be raw binary data and if the parameter is set to False then output will be lowercase hexits.

Return Value: This function returns a string containing the calculated message digest as lowercase hexits.

Below programs uses the file gfg.txt and contents of the file are:



GeeksforGeeks
A Computer Science Portal for Geeks

Below programs illustrate the hash_hmac_file() function in PHP:
Program 1:

<?php
  
// PHP program to illustrate
//  hash_hmac_file function
  
  
// Create a file to calculate hash of
file_put_contents('gfg.txt', 'Geeks');
  
// Display result
echo hash_hmac_file('sha1', 'gfg.txt',
            'password', false);
?>

Output:

a5365a345a41ac0780bf63e4d33576560b86163c

Program 2:

<?php
  
// PHP program to illustrate
//  hash_hmac_file function
  
// Create a file to calculate hash of
file_put_contents('gfg.txt', 'Geeks');
  
// Display result
echo hash_hmac_file('sha256', 'gfg.txt', 'password') . "</br>";
  
  
// Create a file to calculate hash of
file_put_contents('gfg.txt', 'Content');
  
// Display result
echo hash_hmac_file('md5', 'gfg.txt', 'password', false);
?>

Output:

a73af6923445a30fbacd646622b254069f90c2502e63b1025918aa93f2ddca9d
a7b2b24ac2334070c42a852fb5ef0c92 

Reference: http://php.net/manual/en/function.hash-file.php



This article is attributed to GeeksforGeeks.org

leave a comment

code

0 Comments

load comments

Subscribe to Our Newsletter