题目:
小燕子,穿花衣,年年春天来这里,我问燕子你为啥来,燕子说:
79616E7A69205A4A517B78696C7A765F6971737375686F635F73757A6A677D20
对这串字符串16进制转文本
import binascii
s = '79616E7A69205A4A517B78696C7A765F6971737375686F635F73757A6A677D20'
flag = binascii.unhexlify(s)
print(flag)
得到’yanzi ZJQ{xilzv_iqssuhoc_suzjg} ',想到了维吉尼亚密码,解密一下得到flag。
s = 'ZJQ{xilzv_iqssuhoc_suzjg}'
key = 'yanzi'
flag = ''
k = 0
for i in s:
if i >= "A" and i <= "Z" or i >= "a" and i <= "z":
x = ord(i) - (ord(key[k%5]) - 97)
if i >= "A" and i <= "Z" and x < 65:
x += 26
if i >= "a" and i <= "z" and x < 97:
x += 26
flag += chr(x)
k += 1
else:
flag += i
print(flag)
flag:BJD{yanzi_jiushige_shabi}