gpt4 book ai didi

Python edcsa SECP256k1 签名不正确

转载 作者:行者123 更新时间:2023-12-01 09:28:20 33 4
gpt4 key购买 nike

我使用https://github.com/warner/python-ecdsa用于创建私钥和公钥的库。

我生成了该 key

private key = 'ffbd2d76fde8d62642379e507f4ab69883e094708410392d8470246146195e56'
public key = '04' + '615a523e41d5984d5afc18e5adddddfa0ab8ac63b49933ff1b07fae90604fa6cdd6572996117b3ffce6e1258668c88fc2aad3c45eab31ef8a57b5176c91b272a'

签名数据

message = 'aaa'
signHex = privateKey.sign(message,hashfunc=hashlib.sha256).encode("hex")
# signHex : afe2f94df735d1d0c571c9c10dbd3e9271ad1dd4e6c5d523901324c01a4de25e5b9825f8de3fffeebd477f575c83997998df32e8b0a7053b5a43813f269bd4ee

当我用 js 在线工具中的 key 检查标志时,它说您的标志无效。我还使用相同的 key 生成了符号,并在该工具中检查了 java 符号,它说它是有效的符号。为什么在线工具显示 python ecdsa 符号的符号无效。 python 符号有什么问题?

在线工具:https://kjur.github.io/jsrsasign/sample/sample-ecdsa.html

最佳答案

我解决了问题。我添加了 sigencode=sigencode_der 参数并且它工作正常。

正确的符号代码:

from ecdsa import SigningKey, VerifyingKey, SECP256k1
from ecdsa.util import sigencode_der

message = 'aaa'
signHex = privateKey.sign(message,hashfunc=hashlib.sha256,sigencode=sigencode_der).encode("hex")
# signHex = 3044022072ae5b5cf026796ee8217df26eb70f3dd72016f87af0a5fd8d6a99faf51e77f802206a77d3a3acc9540721f34e776b8feb7e2ea69e321d25872d3d65b7fd15c8132d

关于Python edcsa SECP256k1 签名不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50176372/

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