El hashing es un proceso que utiliza un algoritmo (como MD5, SHA-1 o SHA-2) para crear un identificador único, un «hash», para un archivo a partir de sus datos. Dos archivos idénticos siempre tendrán el mismo hash. Del mismo modo, dos archivos diferentes siempre tendrán hashes diferentes, aunque la diferencia entre ambos archivos sea mínima. Los hashes de los archivos que infringen los derechos de autor pueden añadirse a «listas negras» que los servicios de almacenamiento en la nube pueden utilizar para detectar, bloquear y retirar archivos no autorizados.
El propósito del hashing es identificar diferentes copias de un mismo archivo digital. En primer lugar, se utiliza un algoritmo para asignar una cadena de caracteres única, denominada «hash», al archivo digital, y ese hash se almacena en una base de datos de hash. A continuación, se somete un segundo archivo digital al mismo proceso de hashing, y el hash resultante se compara con el que ya está almacenado en la base de datos de hash para determinar si los archivos coinciden exactamente.
El hashing se utiliza principalmente para indexar contenidos, proteger contraseñas, detectar archivos maliciosos como virus o bloquear contenidos ilegales, como la promoción de actos de terrorismo o la explotación de menores. Con respecto al material protegido por derechos de autor, los hashes sirven para identificar, comparar y evitar la subida de contenidos digitales que ya han sido retirados por infringir los derechos de autor.
Es difícil especificar los requisitos de implementación del hashing, ya que existen varias técnicas y algoritmos de hashing que se pueden utilizar, todos los cuales requieren diferentes cantidades de potencia de cálculo. La mayoría de los métodos de hashing son criptográficos (en los que dos archivos diferentes, aunque muy similares, tendrán hashes completamente distintos), pero también existen métodos de hashing perceptuales (en los que dos archivos casi idénticos, por ejemplo imágenes similares, tendrán hashes parecidos). Dicho esto, la ventaja del hashing es que puede aplicarse a contenidos ya existentes. Los hashes pueden ser compartidos y utilizados por todas las partes utilizando el mismo proceso de hashing y la misma base de datos de hashes. La desventaja, sin embargo, es que el hashing sólo reconoce el mismo archivo idéntico, no su contenido.
El hashing requiere una inversión limitada, ya que existen soluciones de código abierto. Además, como las bases de datos hash solo almacenan una cadena de caracteres en lugar del archivo completo, requieren menos recursos computacionales y de memoria.