File tree Expand file tree Collapse file tree 1 file changed +51
-0
lines changed Expand file tree Collapse file tree 1 file changed +51
-0
lines changed Original file line number Diff line number Diff line change 1+ # src/security/encryption.py
2+
3+ import logging
4+ from cryptography .fernet import Fernet
5+
6+ # Set up logging for the encryption module
7+ logger = logging .getLogger (__name__ )
8+
9+ class Encryption :
10+ def __init__ (self ):
11+ """Initialize the Encryption class and generate a key."""
12+ self .key = Fernet .generate_key ()
13+ self .cipher = Fernet (self .key )
14+ logger .info ("Encryption initialized with a new key." )
15+
16+ def encrypt (self , data ):
17+ """
18+ Encrypt the given data.
19+
20+ Parameters:
21+ - data (str): The data to encrypt.
22+
23+ Returns:
24+ - str: The encrypted data.
25+ """
26+ encrypted_data = self .cipher .encrypt (data .encode ())
27+ logger .info ("Data encrypted successfully." )
28+ return encrypted_data .decode ()
29+
30+ def decrypt (self , encrypted_data ):
31+ """
32+ Decrypt the given encrypted data.
33+
34+ Parameters:
35+ - encrypted_data (str): The data to decrypt.
36+
37+ Returns:
38+ - str: The decrypted data.
39+ """
40+ decrypted_data = self .cipher .decrypt (encrypted_data .encode ())
41+ logger .info ("Data decrypted successfully." )
42+ return decrypted_data .decode ()
43+
44+ def get_key (self ):
45+ """
46+ Get the encryption key.
47+
48+ Returns:
49+ - str: The encryption key.
50+ """
51+ return self .key .decode ()
You can’t perform that action at this time.
0 commit comments