Die Berechnung selbst sollte bei Beiden korrekt sein.
Ich geht da mal nicht von einem Fehler aus,
aber es kommt auch darauf an, wie der String "binär" interpretiert wird.
*
Unicode (UTF-16), also 2 Byte pro Char
*
ANSI, also mit der aktuellen Codepage und 1 Byte pro Char (besonder unpraktisch, wenn z.B. in deutschem, englischen, russischen oder japanischem Windows andere Codepages/Charsets verwendet werden)
* UTF-8 ... wird meistens gern benutzt
Und das kannst du dir ja im Code ansehn, was HashStringAsHex und CalcString wie intern nutzen.
* falls Parameter als "String" sind
* ansonsten wird natürlich schon bei Übergabe des Parameters konvertiert