PHP - Funzione file hash ()

Definizione e utilizzo

Il hash_file()la funzione restituirà l'hash del contenuto del file specificato. Il valore restituito sarà una stringa di esiti minuscoli.

Sintassi

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

Parametri

Suor n Parametro e descrizione
1

algo

Nome dell'algoritmo di hashing. C'è una grande lista di algoritmi disponibili con hash, alcuni importanti sono md5, sha256, ecc.

Per ottenere l'elenco completo degli algoritmi supportati, utilizzare la funzione hash hash_algos ()

2

filename

Il percorso del file, il cui contenuto deve essere convertito in hash.

3

raw_output

Per impostazione predefinita, il valore è falso e quindi restituisce valori esadecimali minuscoli. Se il valore è vero, restituirà dati binari non elaborati.

Valori restituiti

La funzione hash_file () di PHP restituisce una stringa di esiti minuscoli se raw_output è falso, altrimenti restituirà dati binari grezzi.

Versione PHP

Questa funzione funzionerà dalla versione PHP successiva alla 5.1.2.

Esempio 1

Per generare l'hash di un determinato contenuto di file -

<?php
   file_put_contents('filetest.txt', 'Welcome to Tutorialspoint'); 
   // create file filetest.txt with content : 'Welcome to Tutorialspoint'
   echo hash_file('md5', 'filetest.txt');
?>

Produzione

Questo produrrà il seguente risultato:

8ab923b97822bd258bf882e41de6ebff

Esempio 2

Test di hash () e hash_file () per lo stesso contenuto -

<?php
   echo hash("md5", 'Welcome to Tutorialspoint');
   echo "<br/>";
   file_put_contents('filetest.txt', 'Welcome to Tutorialspoint'); 
   // create file filetest.txt with content : 'Welcome to Tutorialspoint'
   echo hash_file('md5', 'filetest.txt');
?>

Produzione

Questo produrrà il seguente risultato:

8ab923b97822bd258bf882e41de6ebff<br/>8ab923b97822bd258bf882e41de6ebff

Esempio 3

Usare hash_file () per l'immagine -

<?php
   echo hash_file('md5', 'https://www.tutorialspoint.com/images/tp-logo-diamond.png')
?>

Produzione

Questo produrrà il seguente risultato:

0bdba90368971801a0d5c7e81679cdc9