I need to utilize the UUID datatype (128bit) for storing my hashes. The goal is to be able quickly calculate/identify different records by comparing it rather than millions of 1-10k char long strings. So the goal here is not the security (reverse vulnerability) but I suspect it goes hand in hand with that "uniqueness" or low collision rate that a particular hashing method offers.
I am not limited to any DB functionality here (although it's a pity DBs are usually quite behind in offering better/stronger hashing functions/algorithms, not mentioning wider (>128bit) datatypes to store UIDs) so can use any open source implementation.
So my original thinking was to use MD5 but I read somewhere it might not even utilize full potential of 128bits storing some control segments in it.
Then there's also a quite fast MurmurHash that I could use.
Lastly, I was thinking maybe, it would be better to take something solid, like SHA-3 and just take last 32chars from it?
(Where) Could I get some advice on the best (lowest collision likelyhood) between those aforementioned (and other possible) methods?