I have designed an user interface for a tool where the user needs to enter a “Name” which is maximum 300 characters long, and the tool generates a text file (“Name”.txt) which is then uploaded to a “server” (Mainframe and Unix). I want to shorten the 300 character string into a uniquely identifiable 8 character string (because of issues primarily in mainframe), something like a tinyurl using some kind of hashing algorithm. I found a SHA1 implementation but the resulting string is 40 characters long. Can someone suggest a VBA implementation for the algorithm?
The requirement of the resulting string being 8 characters long is strict – my guess is that it should be doable given that we have a limitation on the size of the input string.
I think Jens’s idea should work just fine.
If truncating SHA-1 hash isn’t your thing, you could use a CRC-32 (32 bits ~ 8 ascii chars from 0..f). (you can try using this example)
CRC-32 is less safe as far as collisions are concerned, but it’s up to you eventually.