Установка необходимых библиотек
Для начала установите библиотеку cryptography, которая предоставляет удобный интерфейс для работы с шифрованием.
Bash:
pip install cryptography
Пример кода
Python:
from cryptography.fernet import Fernet
import os
import hashlib
# Генерация ключа
def generate_key():
return Fernet.generate_key()
# Хеширование пароля
def hash_password(password):
return hashlib.sha256(password.encode()).hexdigest()
# Шифрование данных
def encrypt_data(data, key):
fernet = Fernet(key)
encrypted_data = fernet.encrypt(data.encode())
return encrypted_data
# Дешифрование данных
def decrypt_data(encrypted_data, key):
fernet = Fernet(key)
decrypted_data = fernet.decrypt(encrypted_data).decode()
return decrypted_data
# Пример использования
if __name__ == "__main__":
# Генерация ключа
key = generate_key()
print(f"Сгенерированный ключ: {key.decode()}")
# Ввод данных
data = input("Введите данные для шифрования: ")
# Шифрование
encrypted = encrypt_data(data, key)
print(f"Зашифрованные данные: {encrypted.decode()}")
# Дешифрование
decrypted = decrypt_data(encrypted, key)
print(f"Дешифрованные данные: {decrypted}")
Объяснение кода
- Генерация ключа: Используется метод generate_key() для создания уникального ключа шифрования.
- Хеширование пароля: Метод hash_password() использует SHA-256 для хеширования пароля, что добавляет дополнительный уровень безопасности.
- Шифрование и дешифрование: Методы encrypt_data() и decrypt_data() используют библиотеку Fernet для шифрования и дешифрования данных.