1.取代码
反着来,先执行一次反异或。由于加密过程是每个与后面一个异或,所以我们倒着开始。循环用range(code_length-2,-1,-1)。也就是从倒数第二个开始,这里-1是stop.
num = ((input1[i] + i) % 128 + 128) % 128这里后面的%128明显没用。
def main():
code = ['\x1f', '\x12', '\x1d', '(', '0', '4', '\x01', '\x06', '\x14', '4', ',', '\x1b', 'U', '?', 'o', '6', '*', ':', '\x01', 'D', ';', '%', '\x13']
code_length = len(code)
print(code_length)
for i in range(code_length - 2, -1, -1):
code[i] = chr(ord(code[i]) ^ ord(code[i + 1]))
print(code)
input1 = []
for i in range(code_length):
input1.append(chr((ord(code[i]) - i) % 128))
print(input1)
code_str = ''.join(map(str, input1))
print(code_str)
if __name__ == '__main__':
main()