If you're using some kind of a data structure such as a hashtable or b-tree, which maps keys to values, can you substitute keys with checksums of those keys?
This would save disk-space/memory, but I'm not sure if checksums are necessarily unique for each key. If a checksum takes into account every bit of the key, presumably it would always generate a unique integer for every key. But I'm not sure if that's true.
Are there checksum algorithms which are known to generate unique integers for every key?