Sha256返回错误的哈希值?

2024-09-26 21:53:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图散列一个比特币私钥来获得校验和,python中的两个不同的库(hashlib+pycrypto)返回了相同的错误结果(仅在1个哈希之后)。在

在linux终端中,我通过以下行获得正确的哈希结果:

echo -n 8018ac3e7343f016890c510e93f935261169d9e3f565436429830faf0934f4f8e4 | xxd -r -p | sha256sum -b
result: cd358f378809b3043ded3782d849fbad70f92a2dadefafd985d9aef443752e57

但是,hashlib、pycrypto和联机SHA2哈希工具返回值:

^{pr2}$

我不知道他们为什么返回不同的值。在

这里有两个由它们生成的WIF密钥,第一个使用命令行功能,第二个使用python;第二个无效(钱包软件不接受)。在

5J19pGYtJzuS7VoAQjxDjUGgWXSNqj18GWSWvFVqJzQqGtxZf2V
5J19pGYtJzuS7VoAQjxDjUGgWXSNqj18GWSWvFVqJzQqGvDc8hm

Tags: 工具echo终端linux错误联机result校验
1条回答
网友
1楼 · 发布于 2024-09-26 21:53:47
import hashlib

print(
    hashlib.sha256("8018ac3e7343f016890c510e93f935261169d9e3f565436429830faf0934f4f8e4").hexdigest()
)

print(
    hashlib.sha256("8018ac3e7343f016890c510e93f935261169d9e3f565436429830faf0934f4f8e4".decode("hex")).hexdigest()
)

注意区别:

第一个代码散列十六进制字符串。在

第二个哈希由十六进制解码返回的字节字符串。在

相关问题 更多 >

    热门问题