Hashwerte sind prinzipbedingt nie einzigartig. Bei den gängigen Verfahren, auch schon bei MD5, ist die Kollisionswahrscheinlichkeit im Normalfall aber recht gering.
Wenn du damit leben kannst, dass in sehr eltenen Fällen das fehlschlägt, kannst du imho dabei bleiben, ansonsten musst du Mechanismen zur Kollisionsauflösung anwenden. Z.B. an den Hashplätzen jeweils eine Liste verwalten, oder einen Ausweichplatz bestimmen. Z.B. durch die Hashtable laufen bis zum nächsten freien Platz (linear oder in quadratischen Schritten), oder durch eine zweite Hashfunktion einen Ausweichplatz bestimmen.
_________________
We are, we were and will not be.