from cryptography.fernet import Fernet import os import logging # 로거 인스턴스 가져오기 logger = logging.getLogger('default_logger') # 암호화 키 생성 또는 불러오기 def load_or_create_key(): key_file = 'secret.key' if os.path.exists(key_file): with open(key_file, 'rb') as file: key = file.read() else: key = Fernet.generate_key() with open(key_file, 'wb') as file: file.write(key) return key # 사용자 정보 암호화 def encrypt_data(data): key = load_or_create_key() fernet = Fernet(key) encrypted_data = fernet.encrypt(data.encode()) return encrypted_data # 사용자 정보 복호화 def decrypt_data(encrypted_data): key = load_or_create_key() fernet = Fernet(key) decrypted_data = fernet.decrypt(encrypted_data).decode() return decrypted_data # 사용자 정보 저장 def save_credentials(username, password, employeeID): encrypted_username = encrypt_data(username) encrypted_password = encrypt_data(password) encrypted_employeeID = encrypt_data(employeeID) with open('credentials.txt', 'wb') as file: file.write(encrypted_username + b'\n' + encrypted_password + b'\n' + encrypted_employeeID) # 저장된 사용자 정보 불러오기 def load_credentials(): if os.path.exists('credentials.txt'): with open ('credentials.txt', 'rb') as file: encrypted_username, encrypted_password, encrypted_employeeID= file.read().splitlines() return decrypt_data(encrypted_username), decrypt_data(encrypted_password), decrypt_data(encrypted_employeeID) return None, None, None