I have an application where I need to generate an IntID for a datastore entity based on a unique email address. For privacy and other reasons I can't directly use the email address as a StringID.
I need the generated IntIDs to have low collision rates, so my best guess is to use a cryptographically secure hash function (like SHA3) and export the first 64 bits of the hash to generate the IntID. However, it's not clear from the documents whether the IntID (which is an int64) always has to be positive or not. I've never seen a negative ID in the datastore, but I'd like confirmation of this so that I know whether to make it 63 or 64 bytes long.
I'd also like feedback on my suggested method of generating the IntID from an email.