我正在嘗試使用 python 創(chuàng)建一個(gè)公鑰/私鑰對(duì)。我使用以下方法創(chuàng)建了一個(gè)私鑰:private_key = ''.join(['%x' % random.randrange(16) for x in range(0, 64)])使用此私鑰,我嘗試使用 ecdsa 圖生成相應(yīng)的公鑰def privateKeyToPublicKey(s): sk = ecdsa.SigningKey.from_string(s, curve=ecdsa.SECP256k1) vk = sk.verifying_key return ('\04' + sk.verifying_key.to_string())由于格式錯(cuò)誤,我的字符串格式錯(cuò)誤,我無(wú)法創(chuàng)建簽名密鑰 (sk)。但我不確定字符串 s 應(yīng)該如何/什么格式才能使 SigningKey 工作。運(yùn)行腳本時(shí)出現(xiàn)以下錯(cuò)誤:Traceback (most recent call last): File "address.py", line 23, in <module> privateKeyToPublicKey(private_key) File "address.py", line 20, in privateKeyToPublicKey sk = ecdsa.SigningKey.from_string(s, curve=ecdsa.SECP256k1) File "/usr/local/lib/python3.6/dist-packages/ecdsa/keys.py", line 149, in from_string assert len(string) == curve.baselen, (len(string), curve.baselen)AssertionError: (64, 32)
ecdsa 簽名密鑰格式
慕工程0101907
2021-08-14 21:39:50