in reply to Maintaining uniqueness across millions of items
There is always the possibility that you could generate the numbers and create a checkssm that is significantly smaller than 16 digits.
Then you would only have to compare the checksums (and hold them in memory) for uniquness.
The only caveat being that in a list of 600,000,000 keys you, most likely, will have some codes/numbers which are unique but have the same checksum.