gpt4 book ai didi

javascript - cryptojs 和 golang 给出不同的 sha3 哈希值

转载 作者:行者123 更新时间:2023-11-28 14:14:16 25 4
gpt4 key购买 nike

我正在尝试在 JS 中生成 sha3-512 哈希并在 golang 服务器中检查它。然而,cryptoJS 生成的哈希值与 golang 不同。

CryptoJS:

CryptoJS.algo.SHA3.create().update("foo").finalize().toString(CryptoJS.enc.Hex)

输出:

1597842aac52bc9d13fe249d808afbf44da13524759477404c3592ee331173e89fe1cbf21a7e4360990d565fad4643cdb209d80fa41a91dea97e665022c9213 5

<小时/>

Go 语言:

hex.EncodeToString(crypto.SHA3_512.New().Sum([]byte("foo")))

输出:

666f6fa69f73cca23a9ac5c8b567dc185a756e97c982164fe25859e0d1dcc1475c80a615b2123af1f5f94c11e3e9402c3ac558f500199d95b6d3e30175858 6281dcd26

我希望这些哈希值相等,但事实并非如此

最佳答案

我不知道你使用的是谁的 sha3 包。这是我通过 this code 得到的结果:

package main

import (
"fmt"
"golang.org/x/crypto/sha3"
)

func main() {
h := sha3.New512()
h.Write([]byte("foo"))
sum := h.Sum(nil)
fmt.Printf("hash = %x\n", sum)
}

哈希 = 4bca2b137edc580fe50a88983ef860ebaca36c857b1f492839d6d7392452a63c82cbebc68e3b70a2a1480b4bb5d437a7cba6ecf9d89f9ff3ccd14cd6146ea7e 7

与Python3比较:

>>> import hashlib
>>> print(hashlib.sha3_512(b"foo").hexdigest())

打印:

4bca2b137edc580fe50a88983ef860ebaca36c857b1f492839d6d7392452a63c82cbebc68e3b70a2a1480b4bb5d437a7cba6ecf9d89f9ff3ccd14cd6146ea7e7

关于javascript - cryptojs 和 golang 给出不同的 sha3 哈希值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58260989/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com