题目信息

附件为两行数字与字母组成的字符串。

分析

字符串中的字母均未超过E,猜测是16进制编码,于是先将字符串进行16进制解码,解码之后看上去像base64编码,于是接着进行base64解码,得到两段全由字母组成的字符串,并且被空格隔开,每小段字符串包含3-4个字母,解密的方法就在眼前——键盘,每小段字符串的字母围起来的字母就是明文。

解题

Python代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
from base64 import b64decode

def solve():
cips=[
'636A56355279427363446C4A49454A7154534230526D6843',
'56445A31614342354E326C4B4946467A5769426961453067'
]
msgs=[]
for cip in cips:
msgs.append(b64decode(cip.decode('hex')))
return msgs

if __name__=='__main__':
print solve()

运行程序得到如下结果:

1
2
$ python solve.py
['r5yG lp9I BjM tFhB', 'T6uh y7iJ QsZ bhM ']

接下来在键盘上找每小段字符串的字母围起来的字母,得到flag为tongyuan。