Das ist aber kein Fehlverhalten der Hashfunktion.
Ich selber wandle Strings inzwischen grundsätzlich immer nach UTF-8 und hashe diesen String dann, somit ist überall das Ergebnis gleich.
Ob man nun
ANSI (Eine der vielen CodePages), UTF-8 oder
Unicode (UTF-16) hasht, vom Ergebnis
muß das andere Werte liefern, sonst ist die Hashfunktion ja kaputt, wenn sie bei unterschiedlichen Byte-Folgen gleiche Ergebnisse liefert.
In deinem Fall, also als
Unicode (UTF-16) und dann hashen, egal mit welcher Funktion, und alles kann so bleiben
oder ein anderer "Daten"-Format und dann ist es auch egal welche Hashfunktion du nutzt.