我试图建立在旅途中base64编码的SHA1哈希值,但结果我得到不同的是其他编程语言SHA1中去比蟒蛇和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))
}
这Go代码的结果截然不同打印出aGVsbG/aOaPuXmtLDTJVv++VYBiQr9gHCQ==
我的Python代码如下所示
import hashlib
import base64
print(base64.b64encode(hashlib.sha1('hello').digest()))
和输出qvTGHdzF6KLavt4PO0gs2a6pQ00=
比较我的bash命令看起来像这样
echo -n hello| openssl dgst -sha1 -binary |base64
,并把该qvTGHdzF6KLavt4PO0gs2a6pQ00=
这让我假设Python代码做的一切是正确的。 但为什么去打印另一个结果。 我的错误在哪里?
日Thnx提前
真棒!是我的愚蠢的错误。但thnx您的快速回复。我会标记你的答案是正确的 – minzchickenflavor