I have a java applciation in which I want to generate long
ids for strings (in order to store those strings in neo4j). In order to avoid data duplication, I would like to generate an id for each string stored in a long
integer, which should be unique for each string. How can I do that ?
long
has 64 bits. A String
of length 9 has 72 bits. from pigeon hole principle - you cannot get a unique hashing for 9 chars long strings to a long
.
If you still want a long
hash: You can just take two standard [different!] hash functions for String->int
, hash1()
and hash2()
and calculate: hash(s) = 2^32* hash1(s) + hash2(s)