Skip to content

Commit f67482d

Browse files
authored
Create encryption.py
1 parent 8fdaf57 commit f67482d

File tree

1 file changed

+51
-0
lines changed

1 file changed

+51
-0
lines changed

src/security/encryption.py

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
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()

0 commit comments

Comments
 (0)