python ecdsa 获取私有和 public 密钥
python ecdsa get private and public key
对于了解图书馆的人来说,这个问题似乎很简单。如何获取私钥和 public 密钥的实际值?我有:
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 实数值。我如何获得它们?
您已正确生成私钥和 public 密钥。您现在有 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 格式。
对于了解图书馆的人来说,这个问题似乎很简单。如何获取私钥和 public 密钥的实际值?我有:
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 实数值。我如何获得它们?
您已正确生成私钥和 public 密钥。您现在有 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 格式。