这个题目先做出来,晚发布,因为做着下一道题卡住了,忘了来写博客记录了,现在补上,这道题其实不难,就是我语文水准不好
贴上代码先
import numpy as np #取随机库
flag = 'redacted'
np.random.seed(12345)#给个seed取随机数
arr = np.array([ord(c) for c in flag])#创建一个数组 为字符转数字的
other = np.random.randint(1,5,(len(flag)))#生成范围为1-5,长度为flag的数组
arr = np.multiply(arr,other)#将两个数组相乘
b = [x for x in arr]
lmao = [ord(x) for x in ''.join(['ligma_sugma_sugondese_'*5])]
c = [b[i]^lmao[i] for i,j in enumerate(b)] #这是生成带序号的一个list
print(''.join(bin(x)[2:].zfill(8) for x in c))#zfill是填充0如果没8位,bin(x)[2:]是去掉0b的前缀,这都是调试过后得到的,自己也可以做
# original_output was 10011000010111101101000011000010100000111101010011001000111011111101000111110