Encrypt and Decrypt Data

53 views Asked by At

I'm a beginner working with Encrypt and Decrypt Data. I am getting an error that the address in def get_secure_address(self) cannot be decoded. It just shows an error code:

TypeError: Object of type TypeError is not JSON serializable

What am I doing wrong?

My piece of code:

def encrypt_data(self, end_code_private):
    key_en = Fernet.generate_key()
    f = Fernet(key_en)
    encrypted_data = f.encrypt(end_code_private.encode('utf-8'))
    key_en_str = base64.urlsafe_b64encode(key_en).decode('utf-8')
    return key_en_str, encrypted_data

def decrypt_data(self, dec_code_private, encrypted_data):
    try:
        f = Fernet(dec_code_private)
        decrypted_data = f.decrypt(encrypted_data).decode('utf-8')
        return decrypted_data
    except InvalidToken:
        return "Invalid token. Unable to decrypt the data."

def set_secure_address(self, data):
    key_add, encrypted_address = self.encrypt_data(data)
    self.address = encrypted_address
    self.address_key = key_add


def get_secure_address(self):
    address_key_bytes = base64.urlsafe_b64decode(self.address_key.encode('utf-8'))
    fernet = Fernet(address_key_bytes)
    decrypted_address = self.decrypt_data(fernet, self.address)
    return decrypted_address
0

There are 0 answers