gpt4 book ai didi

javascript - web3使用什么哈希加密算法? ethereumjs-util Sha3 返回不同的结果

转载 作者:行者123 更新时间:2023-12-02 23:52:31 25 4
gpt4 key购买 nike

我正在尝试通过 web3 的 signPersonalMessage 函数正确签署身份验证方法。但是,正确验证的 eth-sig-util 包不会生成具有与 SHA3-256 和 Keccak-256 相同数据的相同哈希值。

例如,如果我尝试散列: 0x664f5f32784d335a69596e4f416c636373496859377054744f704c6e54666a314c70314a4f364d565f4638

我与 Keccak256 的结果: 5dc2751b78fdb82a0986ad2a8e6cc774458d7a096e8eafd3ab6937146b7d2eec

我的 SHA3-256 结果: 6fa399a29899ebab112d562526b9b735f0cf7ce4bdc5a96edfcc48572b8d3e7b

我对库的 Sha3 函数的结果: 40de9eb1ead6a6299af30cdf51eca39d44be214ce7431c93ff546cf5fb1ef0fb

这是我能想到的唯一问题,之前当我尝试使用 Keccak 进行签名和身份验证时,我也经常遇到“v 长度不正确”或“签名长度无效”错误。

最佳答案

我的猜测是您使用的是 web3.js 0.20.x 并且未能传递 encoding 参数。这会将输入视为字符串,这可能不是您想要的:

web3.sha3('0x664f5f32784d335a69596e4f416c636373496859377054744f704c6e54666a314c70314a4f364d565f4638', { encoding: 'hex' })
"0x40de9eb1ead6a6299af30cdf51eca39d44be214ce7431c93ff546cf5fb1ef0fb"

关于javascript - web3使用什么哈希加密算法? ethereumjs-util Sha3 返回不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55577939/

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