我在编写加密代码时遇到麻烦

时间:2018-11-25 18:33:22

标签: python encryption

编辑:看来我为模块使用了错误的运算符。该程序现在运行良好。谢谢大家。

在“计算入门”课程中,我必须编写用于加密和解密消息的代码。 #该程序使用两种加密方式进行加密。一种使用与ROT 13类似的方法,另一种以相反的顺序放置消息。类似于ROT 13的方法使用键31,因为我使用的是62个字符。它应该是双向加密,但是不能正常运行。它缺少正确的加密一位。例如,“ A”应更改为“ f”,但应更改为“ e”。另外,我得到的错误是

“请输入一条消息:大家好 追溯(最近一次通话):   在第16行的文件“ python”中 IndexError:字符串索引超出范围”

每当我输入'f'时。有人知道发生了什么吗?谢谢,这是代码。

characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890'


message = input('Please enter a message:')

newmessage = ''


key = (31)
for symbol in message:

  if symbol.isalnum():
    position = characters.find(symbol)
    newposition = (position + key) & len(characters)
    newcharacters = characters[newposition]
    newmessage = newmessage + newcharacters
  else:
    newmessage = newmessage + symbol




finalmessage = newmessage

print('Your new message is ' + (finalmessage[::-1]))

0 个答案:

没有答案