Basically what the title is; GUIDs are unique by design. If you run the GUID through SHA1 and then Base64 the hash, will the resulting string have the same guaranteed uniqueness as the GUID, or not?
- Anybody can ask a question
- Anybody can answer
- The best answers are voted up and rise to the top
Base64 provides a 1:1 transform from input to output (and back again if desired). So if you take a set of unique items and base64 encode all of them they will all be unique.
So the question becomes if you run a GUID through SHA1, will the resulting hash have the same uniqueness as the GUID?
The answer is practically - yes; theoretically not quite. Multiple inputs to SHA1 map to the same output, but in reality if your GUIDs are unique then there is negligible probability that there will ever be a collision leading to loss of uniqueness.
Assuming no cosmetics, the length of a GUID is 32 bytes so better question would be "What's the collision probability of SHA1 with 32 bytes of input?"
I'm sure someone else will answer with the exact statistics but the answer to your question is yes, it's pretty unique (an attacker has a negligible probability of success). Note that I've completely ignored Base64 because it is reversible.
Edit: This question can provide some more insight