Hashowanie to proces wykorzystujący algorytm (taki jak MD5, SHA-1 lub SHA-2) do tworzenia unikalnego identyfikatora – „hasha” – dla pliku na podstawie jego danych. Dwa identyczne pliki zawsze będą miały ten sam hash. Podobnie dwa różne pliki zawsze będą miały różne hashe, nawet jeśli różnica między nimi jest minimalna. Hashe plików uznanych za naruszające prawa autorskie mogą być dodawane do „czarnych list”, które mogą być wykorzystywane przez usługi przechowywania danych w chmurze do wykrywania, blokowania i usuwania nieautoryzowanych plików.
Celem hashowania jest identyfikacja różnych kopii tego samego pliku cyfrowego. Po pierwsze algorytm jest używany do przypisania unikalnego ciągu znaków, zwanego „hasem”, do pliku cyfrowego, a ten hash jest przechowywany w bazie danych hashy. Drugi plik cyfrowy jest następnie poddawany temu samemu procesowi hashowania, a wynikowy hash jest porównywany z tym już przechowywanym w bazie danych hashy, aby określić, czy pliki są dokładnie zgodne.
Hashowanie służy przede wszystkim do indeksowania treści, zabezpieczania haseł, wykrywania złośliwych plików, takich jak wirusy, lub blokowania nielegalnych treści, takich jak promowanie aktów terroryzmu lub wykorzystywanie nieletnich. W odniesieniu do materiałów chronionych prawem autorskim hashe służą do identyfikacji, porównywania i zapobiegania przesyłaniu treści cyfrowych, które zostały już usunięte z powodu naruszenia praw autorskich.
Trudno jest podać konkretne wymagania dotyczące implementacji hashowania, ponieważ istnieje kilka różnych technik i algorytmów hashowania, z których wszystkie wymagają różnej mocy obliczeniowej. Większość metod hashowania to metody kryptograficzne (w których dwa różne pliki, choć bardzo podobne, będą miały zupełnie inne hashe), ale istnieją również metody hashowania percepcyjnego (w których dwa prawie identyczne pliki, na przykład podobne obrazy, będą miały podobne hashe). Zaletą hashowania jest to, że można je stosować do już istniejących treści. Hashe mogą być współdzielone i używane przez różne strony korzystające z tego samego procesu hashowania i tej samej bazy danych hashy. Wadą jest jednak to, że hashowanie rozpoznaje tylko ten sam identyczny plik, a nie jego zawartość.
Hashowanie wymaga ograniczonych inwestycji, ponieważ dostępne są rozwiązania open source. Ponadto, ponieważ bazy danych hashy przechowują tylko ciąg znaków, a nie cały plik, wymagają mniej zasobów obliczeniowych i pamięci.