-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathencryptModule.py
More file actions
41 lines (34 loc) · 1.32 KB
/
encryptModule.py
File metadata and controls
41 lines (34 loc) · 1.32 KB
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
from cryptography.fernet import Fernet
import keyModule, json, os
from pathlib import Path
with open('config.json', 'r') as configFile:
configData = json.load(configFile)
def encryptFile(key, file):
with open(file, 'rb') as encryptfile:
encryptfileData = encryptfile.read()
fernet = Fernet(key)
encrypted = fernet.encrypt(encryptfileData)
with open(file + '.encrypted', 'wb') as encryptfile:
encryptfile.write(encrypted)
encryptfile.close()
if configData['REMOVE_ENCRYPTED'] == 'True':
os.remove(file)
print(f"File {file} encrypted. Original file deleted.")
else:
print(f"File {file} encrypted.")
print(f"Key used to encrypt: {repr(key)}")
def decryptFile(key, file):
with open(file, 'rb') as fileDecrypt:
fileData = fileDecrypt.read()
fernet = Fernet(key)
decrypted = fernet.decrypt(fileData)
with open(file, 'wb') as decryptFile:
decryptFile.write(decrypted)
decryptFile.close()
if configData['REMOVE_DECRYPTED'] == 'True':
if '.encrypted' in file:
newfile = file.replace('.encrypted', '')
os.rename(file, newfile)
print(f"File {file} decrypted.")
else:
print(f"File {file} decrypted.")