某某加密也是试出来的,这个加密其实和栅栏加密类似,但不过也没啥关系,就是自己根据格式拼出来的。
现在解密的工具很多,也有软件,也有在线的,可惜这个题用这两个都做不了。
为什么呢,这些工具对于凯撒一般都是26个字母循环移位,符号不处理,ASCII码超过Z的也不处理,正好这个题就是超越这些限制的移位,这就需要脚本了。
首先,用一个脚本,改脚本可在33-126的ASCII码范围内解码。
代码转自:https://blog.youkuaiyun.com/dongyanwen6036/article/details/76447628
#实现33-126ASCII能打印的字符循环平移
#和通常凯撒加密不同注意
def change(c,i):
num=ord(c)
if(num>=33 and num<=126):
num=33+(num+i-33)%(94)#126-33=93
return chr(num)
def kaisa_jiAmi(string,i):
string_new=''
for s in string:
string_new+=change(s,i)
print(string_new)
return string_new
#本题有种暴力解密感觉
def kaisa_jiEmi(string):
for i in range(0,94):
print('第'+str(i+1)+'种可能:',end=' ')
#区别在于 string 是该对象原本就是字符串类型, 而 str()则是将该对象转换成字符串类型。
kaisa_jiAmi(string,i)
#你要知道input输入的数据类型都是string
def main():
print('请输入操作,注意不是平常26种:')
choice=input('1:恺撒加密,2:凯撒穷举解密.请输入1或2:')
if choice=='1':
string=input('请输入需要加密字符串: ')
num=int(input('请输入需要加密的KEY: '))
kaisa_jiAmi(string,num)
elif cho

这篇博客探讨了一种超越常规凯撒密码移位的加密方式,该加密方法处理了ASCII码超过Z的字符。由于现有解密工具无法处理这种加密,作者通过编写脚本来解决这个问题。脚本能在33-126的ASCII码范围内解码,并列举了多种可能的解密结果。最终,通过栅栏解码方法,得出了一条包含flag信息的解密串:flag{_Just_4_fun_0.0_}。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



