Als Fuzzy Hashing (auch bekannt als Similarity Hashing) werden Hashfunktionen bezeichnet, die zum Erkennen ähnlicher, jedoch nicht identischer Daten geeignet sind. Es wird unter anderem zur Erkennung von Malware oder Spam eingesetzt.
Für die Duplikaterkennung oder um große Dateisammlungen auf bekannte Dateien zu überprüfen, verwenden viele Lösungen kryptografische Hashfunktionen wie SHA-256. Sie eignen sich jedoch nicht zur Feststellung, ob eine einzelne Datei einer bekannten Datei ähnelt, da eine der Anforderungen an kryptografischen Hashfunktionen der Lawineneffekt ist, durch den eine kleine Änderung der Eingabe den Hashwert stark verändert.
Fuzzy Hashing wurde entwickelt, um einzelne Dateien erkennen zu können, die anderen ähnlich sind, aber nicht genau gleichen. Dabei werden spezielle Hashfunktionen verwendet, bei denen zwei ähnliche Eingaben ähnliche Hashwerte erzeugen. Es kann auch verwendet werden, um zu erkennen, ob ein Muster in einem anderen enthalten ist. Es wird unter anderem zur Identifizierung von Malware oder Spam eingesetzt und hat Potenzial für andere Anwendungen, wie Data Loss Prevention oder die Erkennung von ähnlichem Quelltext.
Es gibt verschiedene Ansätze für die Erstellung von Fuzzy-Hash-Algorithmen: