我正在实现一个XOR方法,我想把加密的消息写入一个txt文件,但是按照我的方式,我得到了奇怪的字符而不是消息。
以下是代码:
from itertools import cycle
msg = 'RUNNINGFAST'
key = 'SADSTORY'
cipher = ''.join(chr(ord(c)^ord(k)) for c,k in zip(msg, cycle(key)))
print('%s ^ %s = %s ' % (msg, key, cipher))
msg = ''.join(chr(ord(c)^ord(k)) for c,k in zip(cipher, cycle(key)))
print('%s ^ %s = %s ' % (cipher, key, msg))
with open("XOR - Msg_Cipher.txt", "w",) as text_file:
text_file.write("msg: %s \nCipher: %s" % (msg, cipher))
输出如下:
txt文件如下所示:
如何在txt文件中获取输出?
感谢您的帮助
答案 0 :(得分:1)
您实际上是在文本文件中获取所有输出。 "问题"是你的密码使用所有ASCII字符的全部范围,其中包括一些不可打印的字符。
示例,SOH
是"标题的开头"符号,它在视觉上并不具有任何意义。
答案 1 :(得分:0)
我认为你需要使用另一个文本编辑器。 Windows'记事本无法正确呈现控制字符。
例如,尝试使用Programmers Notepad或Notepad ++。