1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| from cryptography.hazmat.primitives import hashes from cryptography.hazmat.primitives import serialization from cryptography.hazmat.primitives.asymmetric import padding
def decrypt(data, private_key_data): ''' :param data : 待解密的字节数组 :param private_key_data: 私钥字节数组 '''
private_key = serialization.load_pem_private_key( private_key_data, password = None )
return private_key.decrypt( data, padding.OAEP( mgf=padding.MGF1(algorithm=hashes.SHA256()), algorithm=hashes.SHA256(), label=None ) )
if __name__ == '__main__': data = bytes.fromhex('8e0f057eb288fc8')
with open('./private.key', 'rb') as f: private_key_data = f.read()
res = decrypt(data, private_key_data)
print(res.decode('utf-8'))
|