题目链接:https://buuoj.cn/challenges#%E5%A4%A7%E5%B8%9D%E7%9A%84%E5%AF%86%E7%A0%81%E6%AD%A6%E5%99%A8
先修改后缀名为.zip,在进行压缩
题目:
公元前一百年,在罗马出生了一位对世界影响巨大的人物,他生前是罗马三巨头之一。他率先使用了一种简单的加密函,因此这种加密方法以他的名字命名。
以下密文被解开后可以获得一个有意义的单词:FRPHEVGL
你可以用这个相同的加密向量加密附件中的密文,作为答案进行提交。
密文:ComeChina
根据题目意思,这是个凯撒密码,先"FRPHEVGL"密文解开得到解密向量。
s = 'FRPHEVGL'
for i in range(1,26):
flag = ''
for j in s:
x = ord(j) - i
if x < 65:
x += 26
flag += chr(x)
print(i,flag)
可以看到当向量为13的时候,是有意义的单词,然后再用加密向量为13为密文"ComeChina"加密
s = 'ComeChina'
flag = ''
key = 13
for i in s:
x = ord(i) + key
if i >= "A" and i <= "Z" and x > 90 :
x -= 26
if i >= "a" and i <= "z" and x > 122 :
x -= 26
flag += chr(x)
print(flag)
flag:PbzrPuvan