Gennaio 10, 2025

hash_file() in PHP: Cos’è e A Cosa Serve?

Introduzione

La funzione hash_file() in PHP è uno strumento potente che ti permette di calcolare l’hash di un file facilmente. In questo articolo, esploreremo come funziona questa funzione, quando utilizzarla e vedremo alcuni esempi pratici.

Spiegazione

La funzione hash_file() è utilizzata per calcolare l’hash di un file utilizzando uno degli algoritmi di hashing disponibili in PHP. Gli algoritmi di hashing sono funzioni che prendono un input (o ‘messaggio’) e restituiscono una stringa di lunghezza fissa, che è tipicamente una sequenza di numeri e lettere. Gli hash sono comunemente usati per verificare l’integrità dei dati e sono fondamentali nella crittografia.

La sintassi di base della funzione è:

hash_file(string $algo, string $filename, bool $binary = false): string|false

Nella funzione hash_file(), il parametro $algo specifica l’algoritmo di hashing da utilizzare, mentre $filename è il percorso al file di cui vuoi calcolare l’hash. Il parametro opzionale $binary definisce se l’output dell’hash deve essere in forma binaria (true) o esadecimale (false, che è il valore predefinito).

Quando si utilizza

La funzione hash_file() è utile in diversi scenari, tra cui:

  • Verifica dell’integrità dei file: confrontando l’hash calcolato di un file con un valore hash noto, puoi determinare se il file è stato alterato.
  • Controllo di duplicati: calcolando l’hash di diversi file, puoi facilmente identificare i duplicati confrontando i valori hash.
  • Misure di sicurezza: gli hash possono essere usati per verificare file scaricati rispetto agli hash forniti dal fornitore, assicurando che i file non siano stati manomessi.

Esempi

Vediamo ora alcuni esempi di utilizzo della funzione hash_file() in PHP:

Esempio 1: Calcolare l’hash SHA-256 di un file

<?php
$file = 'path/to/your/file.txt';
$hash = hash_file('sha256', $file);

if ($hash !== false) {
    echo "L'hash SHA-256 del file è: " . $hash;
} else {
    echo "Errore nel calcolare l'hash del file.";
}
?>

Esempio 2: Verifica dell’integrità del file

<?php
$file = 'path/to/your/file.txt';
$knownHash = 'abc123...'; // Inserisci qui l'hash noto del file

$currentHash = hash_file('sha256', $file);

if ($currentHash === $knownHash) {
    echo "Il file è integro.";
} else {
    echo "Il file è stato modificato.";
}
?>

Questi esempi mostrano come calcolare un hash di un file e come utilizzare gli hash per verificare l’integrità dei file, che sono operazioni comuni e cruciali in molti scenari di sviluppo e amministrazione di sistemi.

Giorgio

Sono un Web Developer con oltre 20 anni di esperienza nello sviluppo di applicazioni web complesse. Specializzato in PHP, gestione di database relazionali e non relazionali, e integrazione di API, realizzo soluzioni robuste e scalabili per soddisfare esigenze aziendali e tecniche. Mi occupo di architetture server-side, ottimizzazione delle performance e automazione dei processi.