Python 无法获得正确的代码输出?

Python 无法获得正确的代码输出?,python,cryptography,xor,Python,Cryptography,Xor,原始加密如下(我已经完成了): 对于键中的每个字母和明文中的每个字母(它们的长度相同),计算ascii值,找到异或结果,将其转换为十进制,将该值加上32,然后转换回字符。字符就是密文 key=这是一个很酷的键 纯文本=仙境很酷 密文=C''7e;?a/dc&简化您对xor的计算对我来说很有用: xor = chr((ord(i)-32) ^ (ord(j)-32) + 32) 事实上,如果我运行解密(明文,密钥),我会得到你的密文;如果运行解密(密文、密钥),我会得到你的明文。(这很有意义,因

原始加密如下(我已经完成了): 对于键中的每个字母和明文中的每个字母(它们的长度相同),计算ascii值,找到异或结果,将其转换为十进制,将该值加上32,然后转换回字符。字符就是密文

key=这是一个很酷的键
纯文本=仙境很酷

密文=C''7e;?a/dc&简化您对
xor
的计算对我来说很有用:

xor = chr((ord(i)-32) ^ (ord(j)-32) + 32)

事实上,如果我运行
解密(明文,密钥)
,我会得到你的
密文
;如果运行
解密(密文、密钥)
,我会得到你的
明文。(这很有意义,因为
xor
是可逆的。)

她正在使用
xor\u otp
进行异或。
+
用于通过串联构建纯文本字符串。这不是有效的Python。@Lizzy,如果您发布了足够完整的代码供我们检查,这会有所帮助。例如,此代码有一行看起来应该是
def
,但缺少一些语法,并且它引用了一个名为
plaintext
的变量,该变量未声明。您是否尝试在密文和密钥上运行加密代码?您可能会对得到的结果感到惊讶。当我运行代码时,输出是
“\x97onderland is cool”
——也就是说,它的长度正确,但第一个字符不正确,而不是缺少(如问题中所暗示的)。是否有可能算法有效,但密文不正确?
xor = chr((ord(i)-32) ^ (ord(j)-32) + 32)