LaBr0n
Только по идее в файле message должна быть расшифровка + secret почему то чиститься, даже и не знаю что делать.
хмм давайте посмотрим что делает ваш код, если выкинуть все функции и импорты то там по сути три строчки:
message = read_message('message')
secret = encrypt_message(message)
write_secret('secret', secret)
итак что же делает первая срочка:
...
message = read_message('message')
.....
def read_message(f):
with open(f, 'r', encoding='utf-8') as (f):
return f.read()
открываем файл ‘message’ и возвращаем что удалось прочитать из файла, итого в перемнной message у нас э-э-э-э ничего так файла ‘message’ то нету… по идее оно должно ругнуться No such file or directory и вывалитьтья, но ХЗ предположим что у вас таки есть файл ‘message’ просто пустой . тогда оно дальше отработает.
вторая строчка:
...
secret = encrypt_message(message)
...
libprojectone = ctypes.cdll.LoadLibrary('./libprojectone.so')
def encrypt_char(char, key):
global libprojectone
return chr(libprojectone.encrypt_char(ord(char), key))
def encrypt_message(message):
secret = ''
for i in range(len(message)):
secret += encrypt_char(message[i], 8)
итак берем наш message пребираем посимвольно и шифруем каждый символ с помощью функции .encrypt_char библиотеки libprojectone.so, естественно поскольку в message у нас дырка от бублика то и secret = ''
и наконец треться строчка:
...
write_secret('secret', secret)
...
def write_secret(f, secret):
with open(f, 'w', encoding='utf-8') as (f):
f.write(secret)
открыть файл ‘secret’ и записать туды данные из переменной secret в которой , как мы ране выяснили, дырка от бублика, что собственно оно и записывает. С чего вы взяли что в файле message должна быть расшифровка я понятия не имею…
Походу вы перепетали encrypt(зашифровать) и decrypt(расшифровать)