Ich versuche, eine Base64-codierte SHA1-Hash in gehen zu bauen, aber das Ergebnis i immer bin, ist sehr unterschiedlich zu den Ergebnissen anderer ProgrammiersprachenSHA1 anders geht als in Python und openssl
package main
import (
"crypto/sha1"
"encoding/base64"
"fmt"
)
func main() {
c := sha1.New()
input := []byte("hello")
myBytes := c.Sum(input)
fmt.Println(base64.StdEncoding.EncodeToString(base64.StdPadding))
}
Dieser Go-Code out Drucke aGVsbG/aOaPuXmtLDTJVv++VYBiQr9gHCQ==
Mein Python-Code sieht wie folgt aus
import hashlib
import base64
print(base64.b64encode(hashlib.sha1('hello').digest()))
und Ausgänge qvTGHdzF6KLavt4PO0gs2a6pQ00=
zum Vergleich My bash Befehl sieht wie folgen aus
echo -n hello| openssl dgst -sha1 -binary |base64
und gibt diesen qvTGHdzF6KLavt4PO0gs2a6pQ00=
Was ich, dass der Code Python vermuten läßt ist alles in Ordnung zu tun. Aber warum druckt Go ein anderes Ergebnis. Wo ist mein Fehler?
Thnx im Voraus
awesome! Ja, ein dummer Fehler von mir. Aber thnx für deine schnelle Antwort.Ich werde Ihre Antwort als richtig markieren – minzchickenflavor