Write a python program to Encrypt and Decrypt features within 'Secure' class with key generation, using cryptography module
class Secure:
def __init__(self):
"""
Generates a key and save it into a file
"""
key = Fernet.generate_key()
with open("secret.key", "wb") as key_file:
key_file.write(key)
@staticmethod
def load_key():
"""
Load the previously generated key
"""
return open("secret.key", "rb").read()
def encrypt_message(self, message):
"""
Encrypts a message
"""
key = self.load_key()
encoded_message = message.encode()
f = Fernet(key)
encrypted_message = f.encrypt(encoded_message)
print("\nMessage has been encrypted: ", encrypted_message)
return encrypted_message
def decrypt_message(self, encrypted_message):
"""
Decrypts an encrypted message
"""
key = self.load_key()
f = Fernet(key)
decrypted_message = f.decrypt(encrypted_message)
print("\nDecrypted message:", decrypted_message.decode())
s = Secure()
encrypted = s.encrypt_message("My deepest secret!")
s.decrypt_message(encrypted)