| This sounds like zobrist hashing, or related . https://en.wikipedia.org/wiki/Zobrist_hashing " Zobrist hashing is the first known instance of the generally useful underlying technique called tabulation hashing. " so to https://en.wikipedia.org/wiki/Tabulation_hashing " In computer science, tabulation hashing is a method for constructing universal families of hash functions by combining table lookup with exclusive or operations. It was first studied in the form of Zobrist hashing for computer games; [...] Despite its simplicity, tabulation hashing has strong theoretical properties that distinguish it from some other hash functions. In particular, it is 3-independent: [...] Because of its high degree of independence, tabulation hashing is usable with hashing methods that require a high-quality hash function, including hopscotch hashing, cuckoo hashing, and the MinHash technique for estimating the size of set intersections. " further "
Method: The basic idea is as follows: First, divide the key to be hashed into smaller "blocks" of a chosen length. Then, create a set of lookup tables, one for each block, and fill them with random values. Finally, use the tables to compute a hash value for each block, and combine all of these hashes into a final hash value using the bitwise exclusive or operation.[1] " |