L’hashing è un processo che utilizza un algoritmo (come MD5, SHA-1 o SHA-2) per creare un identificatore univoco, un «hash», per un file sulla base dei suoi dati. Due file identici avranno sempre lo stesso hash. Allo stesso modo, due file diversi avranno sempre hash diversi, anche se la differenza tra i due file è minima. Gli hash dei file che violano il diritto d’autore possono essere aggiunti a «liste nere», che possono essere utilizzate dai servizi di archiviazione cloud per individuare, bloccare e rimuovere i file non autorizzati.
Lo scopo dell’hashing è quello di identificare copie diverse dello stesso file digitale. In primo luogo, viene utilizzato un algoritmo per assegnare una stringa univoca di caratteri, denominata «hash», al file digitale, che viene memorizzata in una banca dati di hash. Un secondo file digitale viene quindi sottoposto allo stesso processo di hashing e l’hash risultante viene confrontato con quello già memorizzato nella banca dati di hash per determinare se i file coincidono esattamente.
L’hashing viene utilizzato principalmente per indicizzare contenuti, proteggere le password, rilevare file dannosi come i virus o bloccare contenuti illegali, come la promozione di atti di terrorismo o lo sfruttamento di minori. Per quanto riguarda il materiale protetto dal diritto d’autore, gli hash servono a identificare, confrontare e prevenire il caricamento di contenuti digitali che sono già stati rimossi a causa di una violazione del diritto d’autore.
È difficile fornire requisiti specifici per l’implementazione dell’hashing, in quanto è possibile utilizzare diverse tecniche e algoritmi con requisiti di potenza di calcolo diversi. La maggior parte dei metodi di hashing sono crittografici (in cui due file diversi, anche se molto simili, avranno hash completamente diversi), tuttavia esistono anche metodi di hashing percettivo (in cui due file quasi identici, ad esempio immagini simili, avranno hash simili). Il vantaggio dell’hashing consiste nel fatto che può essere applicato a contenuti già esistenti. Gli hashing possono essere condivisi e utilizzati da tutte le parti che utilizzano lo stesso processo di hashing e la stessa banca dati di hash. Lo svantaggio, tuttavia, è che l’hashing riconosce solo il file identico, non il suo contenuto.
L’hashing richiede un investimento limitato, in quanto sono disponibili soluzioni open source. Inoltre, poiché le banche dati di hashing memorizzano solo una stringa di caratteri anziché l’intero file, richiedono meno risorse di calcolo e di memoria.