Я пытаюсь зашифровать файл с помощью алгоритма RSA в Python, поэтому я сохранил все возможные значения, которые могут быть записаны в обычный текстовый файл. нравится
SYMBOLS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890 !?.'
теперь у меня есть текстовый файл, который я хочу зашифровать. Он содержит только одну строку; «Я мальчик» (без этих цитат). Но когда я пытаюсь зашифровать файл, он показывает, что: «СИМВОЛЫ не имеют символа», это сообщение, которое будет доставлено программой, если символ не совпадает. вот код, в котором я объявил СИМВОЛЫ и открыл текстовый файл:
SYMBOLS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890 !?'
def main():
# Runs a test that encrypts a message to a file or decrypts a message
# from a file.
filename = 'encrypted_file.txt' # The file to write to/read from.
mode = 'encrypt' # Set to either 'encrypt' or 'decrypt'.
if mode == 'encrypt':
message1 = open('afile.txt', 'r') #open the file which will be encrypted
message = str((message1.read())
print(message)
Я думаю, что я ошибаюсь при открытии текстового файла, так как для этого скрипта потребуется только содержимое как str, но я не знаю, как это сделать. С нетерпением жду некоторых серьезных замечаний. Спасибо.
нет, я не использую шифрование в двоичном формате
Показанный вами код вообще не использует SYMBOLS.
Я думаю, что, возможно, вам понадобится учебник о различиях концептуальный между байтами и символами (и строками), а также о том, когда имеет смысл обрабатывать данные как символы или байты. К сожалению, я не могу найти такой учебник.






Попробуйте следующий код, следующий за кодом, чтобы прочитать содержимое из файла. Сообщение об ошибке кажется неуместным для кода, поскольку вы нигде не используете СИМВОЛЫ.
в message = str (message1.read ()) у вас есть несоответствующие открывающая и закрывающая скобки.
SYMBOLS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890 !?'
def main():
# Runs a test that encrypts a message to a file or decrypts a message
# from a file.
filename = 'encrypted_file.txt' # The file to write to/read from.
mode = 'encrypt' # Set to either 'encrypt' or 'decrypt'.
if mode == 'encrypt':
message1 = open(filename, 'r') #open the file which will be encrypted
message = str(message1.read())
print(message)
main()
Вы выполняете шифрование в двоичном формате или принудительно переводите шифрование в кодировку символов для своего хранилища?