If your spam signatures are small (around 32 bytes) and fixed size, you might also want to look into a pure XOR tabulation hash. It&#x27;s excellent for generating fixed-size keys for hash tables:<p><a href="http:&#x2F;&#x2F;www2.imm.dtu.dk&#x2F;projects&#x2F;thrash-workshop&#x2F;slides&#x2F;thorup.pdf" rel="nofollow">http:&#x2F;&#x2F;www2.imm.dtu.dk&#x2F;projects&#x2F;thrash-workshop&#x2F;slides&#x2F;thoru...</a><p><a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Tabulation_hashing" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Tabulation_hashing</a><p>I use it all the time when I need a hash table index. It&#x27;s simple to understand, safe and fast. Even though it can generate more assembly than other hashes, it&#x27;s actually often faster because it has no multiply operation, only XOR. If the tables are small enough to fit into cache (i.e. small keys), it&#x27;s brilliant. It has properties suitable for triangular probing, where other hashes sometimes don&#x27;t have enough independence. And if you need a rolling hash, i.e. for Rabin Karp, it&#x27;s also perfect.