29 lines
1.0 KiB
Python
29 lines
1.0 KiB
Python
from cryptography.fernet import Fernet
|
||
|
||
|
||
PATH_TO_FILE_CRYPT = "./secret.key"
|
||
|
||
|
||
# Функция для генерации ключа шифрования и записи его в файл
|
||
def generate_key_to_file():
|
||
key = Fernet.generate_key()
|
||
with open(PATH_TO_FILE_CRYPT, 'wb') as key_file:
|
||
key_file.write(key)
|
||
|
||
# Функция для чтения ключа из файла
|
||
def load_key_from_file() -> bytes:
|
||
with open(PATH_TO_FILE_CRYPT, 'rb') as key_file:
|
||
return key_file.read()
|
||
|
||
# Функция для шифрования пароля
|
||
def encrypt_password(password: str) -> str:
|
||
fernet = Fernet(load_key_from_file())
|
||
encrypted_password = fernet.encrypt(password.encode())
|
||
return encrypted_password.decode()
|
||
|
||
# Функция для расшифрования пароля
|
||
def decrypt_password(encrypted_password: str) -> str:
|
||
fernet = Fernet(load_key_from_file())
|
||
decrypted_password = fernet.decrypt(encrypted_password.encode())
|
||
return decrypted_password.decode()
|