Wie vergleichen [32]byte mit []byte in golang?
Möchte ich vergleichen, Ausgabe von sha256.Sum256 (), die sich [32]byte mit einem []byte.
Ich erhalte eine Fehlermeldung "nicht übereinstimmende Typen [32]und byte []byte". Ich bin nicht in der Lage zu konvertieren []byte [32]byte.
Gibt es eine Möglichkeit, dies zu tun?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie trivial konvertieren array ([Größe]T) mit einem Segment ([]T) durch zerteilen:
Von dort aus können Sie vergleichen Sie es mit Ihrem Stück, wie würden Sie vergleichen zwei beliebige andere Scheiben, z.B.
Edit: Wie Dave schon erwähnt in den Kommentaren, es gibt auch ein
Equal
Methode in derbytes
Paketbytes.Equal(x[:], y[:])
bytes.Equal(x[:], y[:])
Bekam ich die Antwort mit diesem thread
SHA256-in Gehen und PHP geben unterschiedliche Ergebnisse
Diese nicht konvertieren [32]byte []byte, sondern es wird mit verschiedenen Funktion, die nicht Ausgabe in [32]byte.
encoded
ist eine Scheibe uninterpretierte bytes. Es funktioniert nur, wennencoded
interpretiert werden, da die base64-Kodierung der Prüfsumme.