Ошибка с 'IndexError: строковый индекс вне диапазона' - PullRequest
0 голосов
/ 05 сентября 2018

новый пользователь Python здесь.

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

Вот код:

while message_count < message_len:
    if int(ord(message[message_count])-int(key_list[key_count])) >= 0:            
        key_tempvar = str(chr(ord(message_encrypted[message_count])-int(key_list[key_count])))
        message_decrypted = message_decrypted + key_tempvar
    key_count += 1
    if key_count == key_len:
        key_count = 0
    message_count += 1

Вот ошибка:

    Traceback (most recent call last):
  File "E:\Documents\Code\Python\encryption\ASCII_encrypt.py", line 122, in <module>
    title()
  File "E:\Documents\Code\Python\encryption\ASCII_encrypt.py", line 69, in title
    decrypt(message)
  File "E:\Documents\Code\Python\encryption\ASCII_encrypt.py", line 109, in decrypt
    key_tempvar = str(chr(ord(message_encrypted[message_count])-int(key_list[key_count])))
IndexError: string index out of range

message_count начинается с 0, а message_len равно длине зашифрованного файла. Идея кода заключается в том, что каждый символ message проходит функцию отдельно, а затем добавляется в строку message_decrypted, затем эта строка записывается в новый файл.

Заранее спасибо за помощь! :)

...