Поскольку ваша программа должна содержать ключ дешифрования, вы не сможете защитить данные от определенного пользователя, только сделайте расшифровку несколько сложнее.
Согласно Криптографические службы -Документация по Python 3.7.3 , Python не содержит никаких настоящих шифров из коробки.Только codecs
имеет шифр Цезаря и стандартные кодировки, которые восстанавливают данные, такие как UUEncode и Base64.
Так что, если вышеприведенное недостаточно для вас, вам нужно либо реализоватьСимметричный шифр сам или используй библиотеку.См., Например, Python AES-шифрование без дополнительного модуля .
Так как настоящая безопасность здесь невозможна, путь в зависимости от того, как сильно вы хотите ее сделать для взломанного пользователя, будет безопасность через неизвестность : используйте нестандартные шифры, не расшифровывайте все файлы сразу, создайте много разных мест, где происходит шифрование / дешифрование, используйте запутанный код, добавьте скрытые контрольные суммы для защиты от подделки, используйте биты данныхвне файла, хранящегося в других, неожиданных местах и т. д.
Если вы просто заинтересованы в том, чтобы сделать файл непонятным для обычного пользователя, что-то вроде Base64 в сочетании с XOR-шифром уже сделает данныесовершенно неразборчиво при просмотре в текстовом редакторе.