UUHash
UUHash is a fast fingerprint used by FastTrack clients like Kazaa. Instead of hashing an entire file, it processes only parts to speed things up, especially on older computers. The 160-bit hash is usually shown Base64-encoded and is made from two parts: a 128-bit MD5 hash of the first 300 KB of the file, and a 32-bit value computed from CRC-32 checksums of selected later chunks.
How it works in brief:
- Start with smallhash = 0.
- Compute CRC-32 checksums on chunks at offsets 2 MB, 4 MB, and so on, plus a final end chunk, feeding each result into smallhash.
- The final 32-bit value is the bitwise complement of smallhash, XORed with the file size in bytes.
- The UUHash is the concatenation of the 128-bit MD5 part and this final 32-bit value.
The name comes from the sig2dat utility used to reference Kazaa files, and UUHash is typically displayed as a Base64 string rather than the raw bytes.
UUHash is fast but weak because it only hashes a fraction of the file. This makes it possible to cause hash collisions or alter large parts of a file without changing the hash, a weakness that has been exploited to corrupt downloads in some anti-p2p efforts.
This page was last edited on 2 February 2026, at 15:49 (CET).