| 12345678910111213141516171819202122232425262728293031 |
- from cryptography.hazmat.backends import default_backend
- from cryptography.hazmat.primitives import serialization
- from cryptography.hazmat.primitives import hashes
- from cryptography.hazmat.primitives.asymmetric import padding
- from cryptography.fernet import Fernet
- import rsa
- from create_keys import get_keys, get_symmetric_key, get_private_key
- def encrypt_data(contract, block_string):
- symmetric_key = get_symmetric_key(contract)
- pubkey = get_keys(contract)
- chiper = Fernet(symmetric_key)
- data = str(chiper.encrypt(block_string))
- encrypted_key = str(rsa.encrypt(symmetric_key,pubkey))
- return data, encrypted_key
- def decrypt_data(name, t):
- print('DATA OF TRANSACTION: ', type(t.data), t.data)
- private_key = get_private_key(name)
- en_key = t.encrypted_key
- print('ENCRYPTED KEY: ', type(en_key), en_key)
- key = rsa.decrypt(en_key, private_key)
- cipher = Fernet(key)
- decrypted_data = cipher.decrypt(t.data)
- print(decrypted_data.decode(), t.data)
|