O hashing é um processo que utiliza um algoritmo (como o MD5, SHA-1 ou SHA-2) para criar um identificador único - um 'hash' - para um ficheiro com base nos seus dados. Dois ficheiros idênticos terão sempre o mesmo hashing. Da mesma forma, dois ficheiros diferentes terão sempre hashes diferentes, mesmo que a diferença entre os dois ficheiros seja mínima. Os hashes dos ficheiros que violem material protegido por direitos de autor podem ser adicionados a "listas negras", que podem ser utilizadas pelos serviços de armazenamento em nuvem para detetar, bloquear e retirar ficheiros não autorizados.
O objetivo do hashing é identificar diferentes cópias do mesmo ficheiro digital. Primeiro, é utilizado um algoritmo para atribuir uma cadeia única de caracteres, denominada 'hash', ao ficheiro digital, e esse hash é armazenado numa base de dados de hash. Um segundo ficheiro digital é então submetido ao mesmo processo de hashing e o hash resultante é comparado com o que já está armazenado na base de dados de hash para determinar se os ficheiros correspondem exatamente.
O hashing é utilizado principalmente para indexar conteúdos, proteger palavras-passe, detetar ficheiros maliciosos, como vírus, ou bloquear conteúdos ilegais, como a promoção de atos de terrorismo ou a exploração de menores. No que diz respeito a material protegido por direitos de autor, os hashes servem para identificar, comparar e impedir o carregamento de conteúdo digital que já tenha sido retirado devido a violação de direitos de autor.
É difícil fornecer requisitos de implementação específicos para o hashing, uma vez que existem várias técnicas e algoritmos de hashing diferentes que podem ser utilizados, todos eles exigindo diferentes quantidades de poder computacional. A maioria dos métodos de hashing são criptográficos (em que dois ficheiros diferentes, embora muito semelhantes, terão hashes completamente diferentes), mas também existem métodos de hashing perceptuais (em que dois ficheiros quase idênticos, por exemplo imagens semelhantes, terão hashes semelhantes). Dito isto, a vantagem do hashing é o facto de poder ser aplicado a conteúdos já existentes. Os hashes podem ser partilhados e utilizados por todas as diferentes partes utilizando o mesmo processo de hashing e a mesma base de dados de hashes. A desvantagem, no entanto, é que o hashing apenas reconhece o mesmo ficheiro idêntico, não o seu conteúdo.
O hashing requer um investimento limitado, uma vez que estão disponíveis soluções de código aberto. Além disso, como as bases de dados hashing apenas armazenam uma cadeia de caracteres em vez de todo o ficheiro, requerem menos recursos computacionais e de memória.