Funzione sha1_file() di PHP

Esempio

Calcolare l'hash SHA-1 del file di testo "test.txt":

<?php
$filename = "test.txt";
$sha1file = sha1_file($filename);
echo $sha1file;
?>

Output del codice sopra:

aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d

Definizione e utilizzo

La funzione sha1_file() calcola l'hash SHA-1 del file.

La funzione sha1_file() utilizza l'algoritmo di hash Secure Hash Algorithm 1 degli Stati Uniti.

Spiegazione da RFC 3174 - L'algoritmo di hash Secure Hash Algorithm 1 degli Stati Uniti, SHA-1, genera un output di 160 bit chiamato riassunto del messaggio. Il riassunto del messaggio può essere inserito in un algoritmo di firma che può generare o verificare la firma del messaggio. Firmare il riassunto del messaggio invece del messaggio stesso può migliorare l'efficienza del processo, poiché la dimensione del riassunto del messaggio è solitamente molto più piccola rispetto al messaggio. Il verificatore della firma digitale deve utilizzare lo stesso algoritmo di hash dell'autore della firma digitale.

Restituisce l'hash SHA-1 calcolato con successo, se fallisce restituisce FALSE.

Sintassi

sha1_file(file,raw)
Parametro Descrizione
file Obbligatorio. Specifica il file da calcolare.
raw

Opzionale. Valore booleano che specifica il formato di output esadecimale o binario:

  • TRUE - Formato binario originale di 20 caratteri
  • FALSE - Predefinito. Numero esadecimale di 40 caratteri

Dettagli tecnici

Valore di ritorno: Restituisce l'hash SHA-1 calcolato con successo, se fallisce restituisce FALSE.
Versione PHP: 4.3.0+
Log delle modifiche:

In PHP 5.0:raw Parametro opzionale.

Da PHP 5.1 in poi, sha1_file() può essere utilizzato tramite encapsulamento. Ad esempio: sha1_file("http://codew3c.com/..")

Più esempi

Esempio 1

Memorizza l'hash SHA-1 del file "test.txt":

<?php
$sha1file = sha1_file("test.txt");
file_put_contents("sha1file.txt",$sha1file);
?>

Test "test.txt" se è stato modificato (cioè se SHA-1 è stato modificato):

<?php
$sha1file = file_get_contents("sha1file.txt");
if (sha1_file("test.txt") == $sha1file)
  {
  echo "Il file è ok.";
  }
else
  {
  echo "Il file è stato cambiato.";
  }
?>

Output del codice sopra:

Il file è ok.