Как зашифровать txt файл python: простое руководство для начинающих
from cryptography.fernet import Fernet
def encrypt_file(file_path):
# Генерируем ключ
key = Fernet.generate_key()
fernet = Fernet(key)
# Читаем содержимое файла
with open(file_path, 'rb') as file:
file_data = file.read()
# Шифруем содержимое файла
encrypted_data = fernet.encrypt(file_data)
# Записываем зашифрованные данные обратно в файл
with open(file_path, 'wb') as file:
file.write(encrypted_data)
print("Файл успешно зашифрован")
file_path = 'путь_к_файлу.txt'
encrypt_file(file_path)
В этом примере мы используем симметричное шифрование с помощью алгоритма Fernet из модуля `cryptography`. Сначала мы генерируем случайный ключ, затем читаем содержимое файла, шифруем его и записываем зашифрованные данные обратно в файл. Файл будет сохранен с тем же именем, но его содержимое будет зашифровано.
Убедитесь, что у вас установлен модуль `cryptography`, прежде чем запускать этот код. Вы можете установить его с помощью команды `pip install cryptography`.
Надеюсь, это помогает! Если у вас есть еще вопросы, не стесняйтесь задавать.
Детальный ответ
Как зашифровать txt файл с помощью Python
Шифрование текстовых файлов может быть полезно во многих ситуациях. Оно позволяет защитить конфиденциальные данные от несанкционированного доступа. В этой статье мы рассмотрим, как использовать Python для зашифровки текстового файла.
Шаг 1: Установка библиотеки cryptography
Перед тем, как начать, убедитесь, что у вас установлена библиотека cryptography. Она предоставляет набор функций для шифрования данных.
pip install cryptography
Шаг 2: Генерация ключа шифрования
Перед тем, как мы сможем зашифровать наш файл, нам необходимо сгенерировать ключ шифрования. Ключ используется для шифрования и дешифрования данных.
from cryptography.fernet import Fernet
def generate_key():
key = Fernet.generate_key()
with open("key.txt", "wb") as key_file:
key_file.write(key)
generate_key()
После выполнения кода, в папке с вашим скриптом будет создан файл "key.txt", содержащий сгенерированный ключ.
Шаг 3: Зашифровка текстового файла
Теперь мы можем перейти к зашифровке текстового файла с использованием сгенерированного ключа.
def encrypt_file(file_path):
with open("key.txt", "rb") as key_file:
key = key_file.read()
fernet = Fernet(key)
with open(file_path, "rb") as file:
file_data = file.read()
encrypted_data = fernet.encrypt(file_data)
with open("encrypted.txt", "wb") as encrypted_file:
encrypted_file.write(encrypted_data)
file_path = "text.txt"
encrypt_file(file_path)
Замените "text.txt" на путь к вашему текстовому файлу, который вы хотите зашифровать. После выполнения кода, в папке с вашим скриптом будет создан файл "encrypted.txt", содержащий зашифрованные данные.
Шаг 4: Дешифровка текстового файла
Если вам понадобится восстановить исходный текст из зашифрованного файла, вы можете воспользоваться следующим кодом:
def decrypt_file(file_path):
with open("key.txt", "rb") as key_file:
key = key_file.read()
fernet = Fernet(key)
with open(file_path, "rb") as file:
encrypted_data = file.read()
decrypted_data = fernet.decrypt(encrypted_data)
with open("decrypted.txt", "wb") as decrypted_file:
decrypted_file.write(decrypted_data)
file_path = "encrypted.txt"
decrypt_file(file_path)
Замените "encrypted.txt" на путь к вашему зашифрованному файлу. После выполнения кода, в папке с вашим скриптом будет создан файл "decrypted.txt", содержащий исходные данные.
В заключение
Теперь у вас есть базовое понимание того, как зашифровать и расшифровать текстовые файлы с помощью Python. Помните о сохранности ключа шифрования, так как без него данные невозможно расшифровать.