脑洞大开 密文简单破译


'二八'是指十六进制, '爱死他'使assic码

将字符串截断后以十六进制输出, 然后加上偏移量


goal = '766C7273626F76706A5E6F715F7271766C72706D626B71716C6C71666A62'

def mov(ch, i):
    return "".join([chr((ord(x)+i)%128) for x in ch])


til1 = goal[0:len(goal)+1:2]
til2 = goal[1:len(goal)+1:2]
st = []
for i in range(0, len(til1)):
    st.append((til1[i]+til2[i]))


ass = [chr(int('0x'+x, 16)) for x in st]

for i in range(1, 128+1):
    print(i, ':', mov(ass, i))

当i=3时输出:

3 : youverysmartbutyouspenttootime