Зашифрованные и защищенные док-контейнеры

Как объяснил Микола, фактический результат, который вы наблюдаете, вызван тем фактом, что удаление записи из списка смещает весь список на одно место, заставляя вас пропускать элементы.

Но более интересный вопрос , на мой взгляд, почему python не выбирает для создания сообщения об ошибке, когда это происходит. Он вызывает такое сообщение об ошибке, если вы попытаетесь изменить словарь. Я думаю, для этого есть две причины.

  1. Dict сложны внутри, а списки - нет. Списки в основном представляют собой массивы. Дик должен обнаруживать, когда он изменен во время повторения, чтобы избежать сбоев при изменении внутренней структуры dict. Список может уйти, не выполняя эту проверку, потому что он просто убеждает, что его текущий индекс все еще находится в зоне действия.
  2. Исторически, (я не уверен сейчас), списки python были повторены с помощью []. Python будет оценивать список [0], список [1], список [2], пока не получит IndexError. В этом случае python не отслеживал размер списка до его начала, поэтому у него не было способа обнаружить, что размер списка был изменен.
39
задан Alexey Petrenko 24 September 2014 в 00:35
поделиться

1 ответ

Для части Python Вы могли бы рассмотреть использование Pyinstaller с подходящими вариантами, это может упаковать Ваше целое приложение Python в единственном исполняемом файле, который не потребует, чтобы установка Python была выполнена конечными пользователями. Это эффективно выполняет интерпретатор Python на упакованном коде, но это имеет опцию шифра, которая позволяет Вам шифровать байт-код.

Да, ключ будет где-нибудь вокруг исполняемого файла, и у очень опытного костюмера могли бы быть средства извлечь его, таким образом распутывая не так читаемый код. Вам решать, чтобы знать, содержит ли Ваш код некоторый большой секрет, необходимо скрыться любой ценой. Я, вероятно, не сделал бы этого, если бы я хотел взимать большие деньги за какое-либо решение ошибки в развернутом продукте. Я мог использовать его, если клиент имеет хорошие стандарты соответствия и не является потенциальным конкурентом, ни, как ожидают, заплатит за большее количество лицензий.

, В то время как я сделал это однажды, я честно постарался бы не делать его снова.

Относительно кода C, если можно скомпилировать его в исполняемые файлы и/или совместно использованные библиотеки, может быть включен в исполняемый файл, сгенерированный Pyinstaller.

0
ответ дан 27 November 2019 в 01:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: