1.题目信息
附件为两行数字与字母组成的字符串。
2. 分析
字符串中的字母均未超过E,猜测是16进制编码,于是先将字符串进行16进制解码,解码之后看上去像base64编码,于是接着进行base64解码,得到两段全由字母组成的字符串,并且被空格隔开,每小段字符串包含3-4个字母,解密的方法就在眼前——键盘,每小段字符串的字母围起来的字母就是明文。
3.解题
Python代码如下:
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()
运行程序得到如下结果:
$ python solve.py
['r5yG lp9I BjM tFhB', 'T6uh y7iJ QsZ bhM ']
接下来在键盘上找每小段字符串的字母围起来的字母,得到flag为tongyuan。