Camelot12
Насколько я понимаю, то это:
>>> 'print'.decode('rot-13')
u'cevag'
нужно кинуть в мой код,
Это пример как перекодировать из кодировки latin или utf-8 в кодировку rot-13.
Camelot12
а это:
#!/usr/bin/env python
# -*- coding: rot-13 -*-
# print 1
cevag 1
в отдельный файл?
Это пример как создать исполняемую программу на python в кодировке rot-13. В данном примере 2-я строчка указывает что файл в кодировке rot-13, a строчка cevag 1 эквивалентна строчке print 1 в обычном python-файле, но записанная в кодировке rot-13.
Camelot12
У меня нету в коде строки print.
Ну вы же понимаете что это всего лишь пример. Вот например другой пример, программа которая возвращает текущий каталог (аналог pwd).
#!/usr/bin/env python
# -*- coding: rot-13 -*-
vzcbeg bf
cevag bf.trgpjq()
Это полный эквивалент такой программы:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
print os.getcwd()
PooH
Шутить изволите?! При наличии компьютера в каждом доме шифр простой замены ничем не отличается от открытого текста, Тем более программный текст, где столько ключевых слов.
Воспринимаете это просто как забаву.
Camelot12
Ребята, я лишь только учусь. Я просто хочу обезопасить свои работы от декомпиляции…
Кстати этот метод (с rot-13) от декомпиляции никак не спасет, потому как восстанавливается код из байт-кода, который имеет собственное представление о данных и кодировках.
Это всего лишь забавный факт, который можно использовать разве что для подшучивания над коллегами 1 апреля. Если вам необходимо действительно закрыть код, то самый лучший способ для этого, как вам правильно заметили, – компиляция. Для этого можно использовать пакеты Cython или Nuitka.