Danke erstmal für die Ausführungen,
leider komme ich auf nach wie vor falsche Ergebnisse. (immerhin jetzt aber wohl in 64 bit string
)
Was sind denn eigentlich die richtigen Ergebnisse?
Vielen hier, also auch mir, sind weder die Programmierung gegen die Steam-
API noch die Programmiersprache Go bekannt, so dass wir ein bisschen mehr Informationen benötigen.
Hier wäre eine Aufstellung nach "gegeben" und "gesucht" hilfreich.
Also welche Eingangsparameter hast du und was erwartest du als Ausgangswert? Beispiele!
Code:
uniqueName := bytes.Join([][]byte{target, gameName}, []byte(""))
Diese Zeile bereitet mir Kopfschmerzen.
Ich habe das in Delphi einfach uniqueName := target+gameName und das Ergebnis dann gehashed.
Das war im ersten Beitrag nicht ersichtlich.
Ich nahm an, das dies schon gelöst war.
Eigenartiger weise bekomme ich in xe3 nach shl 32 or $02000000 oftmal negative Werte - wie kann das sein?
Muss ich die Strings erst in ein ByteArray zerlegen und die Summen adderen?
Wie sind denn deine Vorkenntnisse in Sachen Programmierung?
Ist dir klar was die Operatoren shl und or bewirken sollen?
Hast du dich mit den Go-Quelltext mal auseinandergesetzt?
Google bietet mit dem Playground ja die schnelle Möglichkeit des Ausprobierens:
https://play.golang.org/
Teste doch mal folgenden Quelltext im Playground, vielleicht wird dir dann klarer, wie du weiter vorgehen musst.
Code:
package main
import (
"bytes"
"fmt"
)
func main() {
target := []byte("Hello")
gameName := []byte(" World!")
uniqueName := bytes.Join([][]byte{target, gameName}, []byte(""))
fmt.Println("uniqueName")
fmt.Println(" ")
fmt.Println("as byte array:")
fmt.Println(uniqueName)
fmt.Println(" ")
fmt.Println("as string:")
fmt.Println(string(uniqueName))
}