簡體   English   中英

python ecdsa 獲取私鑰和公鑰

[英]python ecdsa get private and public key

對於了解圖書館的人來說,這個問題似乎很簡單。 如何獲得私鑰和公鑰的實際值? 我有:

private_key = SigningKey.generate(SECP256k1)
public_key = private_key.get_verifying_key()
print("private_key:")
print(private_key)
print("public_key:")
print(public_key)

它打印:

generate_keys() private_key: public_key: VerifyingKey.from_string(b'\x029q\xfd\xe9\x1dL\xc0\xab\xb1\xd2GG\xef8\xcb\x89\xce\xbb\xa8\x10*\xfa\xda\x0c \x92\x12\xa5\xa0\x81\xef\x07\x9e', SECP256k1, sha1) (, VerifyingKey.from_string(b'\x029q\xfd\xe9\x1dL\xc0\xab\xb1\xd2GG\xef8\xcb \x89\xce\xbb\xa8\x10*\xfa\xda\x0c\x92\x12\xa5\xa0\x81\xef\x07\x9e', SECP256k1, sha1))

我需要 private_key 和 public_key 實際值。 我如何得到它們?

您已正確生成私鑰和公鑰。 您現在擁有 class 實例。 這些實例不一定按您期望的方式打印 - 我認為這是您唯一的問題。

如果你想查看 PEM 格式,你應該這樣做:

private_key = SigningKey.generate(SECP256k1)
public_key = private_key.get_verifying_key()
print("private_key:")
print(private_key.to_pem())
print("public_key:")
print(public_key.to_pem())

對於 DER 格式,使用to_der() 對於原始字節,使用to_string()

如果您要與某人、錢包、openssl 等進行通信,您可能需要 PEM 格式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM