File size: 1,335 Bytes
43ecebd |
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 36 37 38 39 40 41 42 |
"""
Encryption Manager
"""
import time
from cryptography.fernet import Fernet
... import base64
... import os
...
... class EncryptionManager:
... def __init__(self):
... self.key = None
... self.cipher = None
...
... def initialize(self):
... """Initialize encryption manager"""
... print("Initializing Encryption Manager...")
...
... # Generate or load encryption key
... key_file = 'config/encryption.key'
... if os.path.exists(key_file):
... with open(key_file, 'rb') as f:
... self.key = f.read()
... else:
... self.key = Fernet.generate_key()
... os.makedirs(os.path.dirname(key_file), exist_ok=True)
... with open(key_file, 'wb') as f:
... f.write(self.key)
...
... self.cipher = Fernet(self.key)
... print("Encryption Manager initialized successfully")
...
... def encrypt(self, data):
... """Encrypt data"""
... if isinstance(data, str):
... data = data.encode()
... return self.cipher.encrypt(data)
...
... def decrypt(self, encrypted_data):
... """Decrypt data"""
... return self.cipher.decrypt(encrypted_data).decode()
|