summaryrefslogtreecommitdiff
path: root/crypto.py
blob: a96642b0252dc7f7bad92cf2c761518a1c141502 (plain) (blame)
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
from cryptography.fernet import Fernet

vault_file = 'vault.sqlite'


def generate_key() -> bytes:
    new_key = Fernet.generate_key()
    return new_key


def load_key(key_file: str) -> bytes:
    return open(key_file, 'rb').read()


def encrypt(key, filename=vault_file) -> None:
    f = Fernet(key)
    with open(filename, 'rb') as file:
        file_data = file.read()
    encrypted_data = f.encrypt(file_data)
    with open(filename, 'wb') as file:
        file.write(encrypted_data)


def decrypt(key, filename=vault_file) -> None:
    f = Fernet(key)
    with open(filename, 'rb') as file:
        encrypted_data = file.read()
    decrypted_data = f.decrypt(encrypted_data)
    with open(filename, 'wb') as file:
        file.write(decrypted_data)