Я делаю этот «проект» на официальном сайте Raspberry Pi, где я учусь шифровать сообщения с использованием Python.
Я слежу за проектом 'Secret Agent Chat', и на шаг 8 я столкнулся с проблемой.Я дважды проверил все строки, которые я написал, и я почти уверен, что сделал это именно так, как сказал мне проект.Так что либо я все-таки сделал что-то не так после двойной проверки всего, что написал, либо проект не верный.Если это окажется ошибкой в проекте, я сообщу об этом.Но я думаю, что вероятность выше, я сделал что-то не так, поэтому я надеюсь, что вы можете помочь мне найти это.
Проблема, с которой я сталкиваюсь, заключается в том, что при выполнении программы, которую я написал (я пытаюсь зашифровать сообщение),Я не получаю полное зашифрованное сообщение.Я буквально просто получаю первую букву сообщения, которое я пытался зашифровать.Пример:
>>> sheet = load_sheet('otp0.txt')
>>> encrypt ('Hualiwei.', sheet)
'H'
>>>
Я должен получить что-то вроде этого:
>>> sheet = load_sheet('otp0.txt')
>>> encrypt ('Hualiwei.', sheet)
'Keudnsqn.'
>>>
Ниже я помещаю код, который я написал для проекта.Это должно быть точно так же, как показано в проекте.
from random import randint
ALPHABET = 'abcdefghijklmnopqrstuvwxyz'
def generate_otp(sheets, length):
for sheet in range(sheets):
with open("otp" + str(sheet) + ".txt","w") as f:
for i in range(length):
f.write(str(randint(0,26))+"\n")
def load_sheet(filename):
with open(filename, "r") as f:
contents = f.read().splitlines()
return contents
def get_plain_text():
plain_text = input('Please type your message ')
return plain_text.lower()
def load_file(filename):
with open(filename, "r") as f:
contents = f.read()
return contents
def save_file(filename, data):
with open(filename, 'w') as f:
f.write(data)
def encrypt(plaintext, sheet):
ciphertext = ''
for position, character in enumerate(plaintext):
if character not in ALPHABET:
ciphertext += character
else:
encrypted = (ALPHABET.index(character) + int(sheet[position])) % 26
ciphertext += ALPHABET[encrypted]
return ciphertext
Мне действительно интересно, что я делаю неправильно.Я надеюсь, что вы можете помочь мне, и тем самым помочь многим другим людям, которые могут столкнуться с той же проблемой, которая откладывает их на эксперименты с этими проектами Raspberry Pi (если проблема не с моей стороны, по крайней мере).
Заранее большое спасибо!