如何在 Python 中签名消息而不出错?
How to sign a message in Python without getting an error?
错误是:
TypeError:This is not a private key
我已经试过了:
def sign_transaction(self):
private_key = RSA.importKey(binascii.unhexlify(self.sender_private_key))
signer = PKCS1_v1_5.new(private_key)
h = SHA.new(str(self.to_dict()).encode('utf8'))
return binascii.hexlify(signer.sign(h)).decode('ascii')
def verify_transaction_signature(self, sender_address, signature, transaction):
public_key = RSA.importKey(binascii.unhexlify(sender_address))
verifier = PKCS1_v1_5.new(public_key)
h = SHA.new(str(transaction).encode('utf8'))
return verifier.verify(h, binascii.unhexlify(signature))
我正在使用 Python 3.8 .
我的问题出在我的数据库中,我正在将私钥发送到 public 密钥列。
所以我试图用 public 密钥而不是我的私钥来签署我的交易。
错误是:
TypeError:This is not a private key
我已经试过了:
def sign_transaction(self):
private_key = RSA.importKey(binascii.unhexlify(self.sender_private_key))
signer = PKCS1_v1_5.new(private_key)
h = SHA.new(str(self.to_dict()).encode('utf8'))
return binascii.hexlify(signer.sign(h)).decode('ascii')
def verify_transaction_signature(self, sender_address, signature, transaction):
public_key = RSA.importKey(binascii.unhexlify(sender_address))
verifier = PKCS1_v1_5.new(public_key)
h = SHA.new(str(transaction).encode('utf8'))
return verifier.verify(h, binascii.unhexlify(signature))
我正在使用 Python 3.8 .
我的问题出在我的数据库中,我正在将私钥发送到 public 密钥列。 所以我试图用 public 密钥而不是我的私钥来签署我的交易。