Work with IDs that aren't contiguous

Use `Zlib.crc32()` to provide a simple hash that will randomly distribute IDs to make percentages work in all cases.