我正在编写XOR加密。如果消息比密钥长,则它应该在密钥的开头重新开始。
message="wall"
key="code"
for m, k in zip(message,key):
result=ord(m)^ord(k)
print(result)
我该如何解决这个问题?感谢您的帮助。
我不确定您想要什么,但是如果我认为是那样,有很多方法可以做到。保存大多数代码的最短方法之一是利用itertools.cycle()
的优势,如下所示:
from itertools import cycle
message="wallaby"
key="code"
for m, k in zip(message, cycle(key)):
result=ord(m)^ord(k)
print(result)