我正在嘗試使用 python 創建一個公鑰/私鑰對。我使用以下方法創建了一個私鑰:private_key = ''.join(['%x' % random.randrange(16) for x in range(0, 64)])使用此私鑰,我嘗試使用 ecdsa 圖生成相應的公鑰def privateKeyToPublicKey(s): sk = ecdsa.SigningKey.from_string(s, curve=ecdsa.SECP256k1) vk = sk.verifying_key return ('\04' + sk.verifying_key.to_string())由于格式錯誤,我的字符串格式錯誤,我無法創建簽名密鑰 (sk)。但我不確定字符串 s 應該如何/什么格式才能使 SigningKey 工作。運行腳本時出現以下錯誤: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